Skip to content

Commit 26f7ac4

Browse files
authored
Create heozeop.cpp
1 parent 8ed3379 commit 26f7ac4

File tree

1 file changed

+35
-0
lines changed

1 file changed

+35
-0
lines changed

combination-sum/heozeop.cpp

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
// Time Complexity: O(n)
2+
// Spatial Complexity: O(n);
3+
4+
class Solution {
5+
public:
6+
vector<vector<int>> combinationSum(vector<int>& candidates, int target) {
7+
vector<vector<int>> ans;
8+
vector<int> visited;
9+
backtrack(ans, candidates, visited, target, 0);
10+
return ans;
11+
}
12+
13+
void backtrack(
14+
vector<vector<int>>& ans,
15+
vector<int>& candidates,
16+
vector<int>& visited,
17+
int target,
18+
int prev
19+
) {
20+
if(target == 0) {
21+
ans.push_back(visited);
22+
return;
23+
}
24+
25+
for(int i = prev; i < candidates.size(); ++i) {
26+
if (target - candidates[i] < 0) {
27+
continue;
28+
}
29+
30+
visited.push_back(candidates[i]);
31+
backtrack(ans, candidates, visited, target - candidates[i], i);
32+
visited.pop_back();
33+
}
34+
}
35+
};

0 commit comments

Comments
 (0)