【LeetCode热题100(56/100)】组合总和
题目地址:链接
思路: 递归回溯
/*** @param {number[]} candidates* @param {number} target* @return {number[][]}*/
var combinationSum = function(candidates, target) {let n = candidates.lengthlet ans = [];const dfs = (idx, sum, arr) => {if(sum > target) return;if(sum === target) {ans.push(arr);return;}for(let i = idx; i < n; i ++) {dfs(i, sum + candidates[i], [...arr, candidates[i]]);}}dfs(0, 0, []);return ans;
};
