LeetCode 39. 组合总和
class Solution {
public:
vector<vector<int> > vec;
void dfs(vector<int> num,int target,vector<int> v,int ans,int index)
{
if(ans>target) return ;
if(ans==target)
{
vec.push_back(v);
return ;
}
for(int i=index;i<num.size();i++)
{
v.push_back(num[i]);
dfs(num,target,v,ans+num[i],i);
v.pop_back();
}
return;
}
vector<vector<int>> combinationSum(vector<int>& candidates, int target) {
vector<int> v;
dfs(candidates,target,v,0,0);
return vec;
}
};