题目描述
思路分析
dfs搜索组合
代码实现
class Solution {
public:
vector<vector<int>> ans;
vector<int> path;
vector<vector<int>> combinationSum3(int k, int n) {
dfs(n,1,k);
return ans;
}
void dfs(int s,int u,int cnt){
if(!s&&!cnt){
ans.push_back(path);
return;
}
if(u==10||!cnt)return;
if(s>=u){
path.push_back(u);
dfs(s-u,u+1,cnt-1);
path.pop_back();
}
dfs(s,u+1,cnt);
}
};