var combinationSum = function(candidates, target) {
var res=[];
backtracking(0,[],target);
return res;
function backtracking(start,temp,target){ //这个start存在的意义重大,保证结果中不会有重复数组。
if(target==0) res.push([...temp]);
if(target<0) return;
else{
for(var i=start;i<candidates.length;i++){
temp.push(candidates[i]);
backtracking(i,temp,target-candidates[i]);
temp.pop();
}
}
}
};