var combinationSum2 = function(candidates, target) {
candidates = candidates.sort(function(a,b){
return b - a;
})
let anwser = [];
let anwsers = [];
let used = new Array(candidates.length).fill(0);
let sum = 0;
function backtrack(sum, start){
if(sum > target)return;
if(sum == target){
anwsers.push([...anwser]);
return;
}
for(let i = start; i < candidates.length; i++){
if(i > 0 && candidates[i] == candidates[i - 1] && used[i - 1] == 0)continue;
sum += candidates[i];
anwser.push(candidates[i]);
used[i] = 1;
backtrack(sum, i + 1);//自己不能用了,所以i+1
sum -= candidates[i];
anwser.pop();
used[i] = 0;
}
}
backtrack(0,0);
return anwsers;
};
JS力扣刷题40. 组合总和 II
最新推荐文章于 2024-04-04 19:23:32 发布