LeetCode 39 Combination Sum
解题思路:
此题参考了题目解析的思路,采用回溯+剪枝的方法,具体见下面链接:
leetcode 39 解题思路
代码参考:
class Solution {
private:
vector<vector<int> > res;
vector<int> path;
public:
void DFS(int begin,int target,vector<int> nums){
if(target == 0){
res.push_back(path);
return;
}
int i;
for(i=begin;i<nums.size() && target-nums[i] >= 0;i++){
path.push_back(nums[i]);
DFS(i,target-nums[i],nums);
path.pop_back();
}
}
vector<vector<int>> combinationSum(vector<int>& candidates, int target) {
sort(candidates.begin(),candidates.end());
DFS(0,target,candidates);
return res;
}
};