Open
Description
class Solution {
public:
void comb(int k, int c, int n, int d, vector<int>& p, vector<vector<int>>& ret){
if(c == k) {
if(n == 0) ret.push_back(p);
return;
}
if(d == 10 || n < 0) return;
for(int i = d; i < 10; i++){
p.push_back(i);
comb(k, c+1, n - i, i+1, p, ret);
p.pop_back();
}
}
vector<vector<int>> combinationSum3(int k, int n) {
vector<vector<int>> ret;
vector<int> p;
comb(k, 0, n, 1, p, ret);
return ret;
}
};