class Solution {
public:
vector<vector<int>> res;
vector<vector<int>> combinationSum(vector<int>& candidates, int target) {
dfs(candidates,0,target);
return res;
}
vector<int> path;
void dfs(vector<int>& candidates,int u,int target)//枚举每个数字选几个
{
if(target==0||u==candidates.size())
{
if(!target) res.push_back(path);
return;
}
for(int i=0;i*candidates[u]<=target;i++)
{
dfs(candidates,u+1,target-i*candidates[u]);
path.push_back(candidates[u]);
}
for(int i=0;i*candidates[u]<=target;i++) path.pop_back();
}
};
LeetCode 39. 组合总和
发布时间 2023-06-07 20:16:34作者: 穿过雾的阴霾