216.组合总和
思路:就dfs,时间复杂度0(2^9)
class Solution {
public:
vector<vector<int>> v;
vector<int> tmp;
void dfs(int u,int sum,int ct){
if(sum<0) return ;
if(sum==0&&ct==0){
v.push_back(tmp);
return ;
}
if(u>9||ct<=0) return;
tmp.push_back(u);
dfs(u+1,sum-u,ct-1);
tmp.pop_back();
dfs(u+1,sum,ct);
}
vector<vector<int>> combinationSum3(int k, int n) {
dfs(1,n,k);
return v;
}
};