Skip to content

Commit 43b2831

Browse files
committed
add: combination-sum
1 parent 54506df commit 43b2831

File tree

1 file changed

+30
-0
lines changed

1 file changed

+30
-0
lines changed

combination-sum/HerrineKim.js

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
// 시간 복잡도 : O(n^2)
2+
// 공간 복잡도 : O(n)
3+
4+
/**
5+
* @param {number[]} candidates
6+
* @param {number} target
7+
* @return {number[][]}
8+
*/
9+
10+
var combinationSum = function(candidates, target) {
11+
const result = [];
12+
13+
const backtrack = (remaining, combo, start) => {
14+
if (remaining === 0) {
15+
result.push([...combo]);
16+
return;
17+
}
18+
19+
for (let i = start; i < candidates.length; i++) {
20+
if (candidates[i] <= remaining) {
21+
combo.push(candidates[i]);
22+
backtrack(remaining - candidates[i], combo, i);
23+
combo.pop();
24+
}
25+
}
26+
};
27+
28+
backtrack(target, [], 0);
29+
return result;
30+
};

0 commit comments

Comments
 (0)