JesseZhao1990/algorithm

组合总和 II

JesseZhao1990 opened this issue · 0 comments

image

/**
 * @param {number[]} candidates
 * @param {number} target
 * @return {number[][]}
 */
var combinationSum2 = function(candidates, target) {
    var res = [];
    candidates = candidates.sort((a,b)=>a-b);
    
    function dfs(candidates,target,arr,i){
        if(target<0) return;
        if(target===0){
            res.push([...arr]);
        }
        for(var j=i;j<candidates.length;j++){
            arr.push(candidates[j]);
            dfs(candidates,target-candidates[j],arr,j+1);
            arr.pop();
            while(candidates[j]===candidates[j+1]){
                j++
            }
        }  
    }
    dfs(candidates,target,[],0);
    return res;
};

解题思路

LeetCode:https://leetcode-cn.com/problems/combination-sum-ii/description/