Combination Sum II LeetCode solution in JavaScript

1
/**
2
* @param {number[]} candidates
3
* @param {number} target
4
* @return {number[][]}
5
*/
6
var combinationSum2 = function (candidates, target) {
7
candidates.sort((a, b) => a - b);
8

9
const ans = [];
10

11
function dfs(idx, t, st) {
12
if (t === 0) {
13
ans.push(Array.from(st));
14
return;
15
}
16
for (let i = idx; i < candidates.length; i++) {
17
if (i > idx && candidates[i - 1] === candidates[i]) continue;
18
if (candidates[i] > t) break;
19
st.push(candidates[i]);
20
dfs(i + 1, t - candidates[i], st);
21
st.pop();
22
}
23
}
24

25
dfs(0, target, []);
26

27
return ans;
28
};

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0