class Solution {
private:
void combanation(vector<vector<int>> &result,vector<int> &cur,vector<int> &candidate,int target,int begin)
{
if(!target)
{
result.push_back(cur);
return;
}
else
{
for(int i=begin;target>=candidate[i]&&i<candidate.size();i++)
{
cur.push_back(candidate[i]);
combanation(result,cur,candidate,target-candidate[i],i);
cur.pop_back();
}
}
}
public:
vector<vector<int>> combinationSum(vector<int>& candidates, int target) {
vector<vector<int>> result;
vector<int> cur;
sort(candidates.begin(),candidates.end());
combanation(result,cur,candidates,target,0);
return result;
}
};
39. Combination Sum
最新推荐文章于 2022-05-10 10:41:38 发布