216. Combination Sum III
problem description
Input: k = 3, n = 7
Output: [[1,2,4]]Input: k = 3, n = 9
Output: [[1,2,6], [1,3,5], [2,3,4]]algorithm thought
code
class Solution {
public:
vector<vector<int>> combinationSum3(int k, int n) {
vector<vector<int>> res;
vector<int> tmp;
help(res,k,n,tmp,0,1);
return res;
}
void help(vector<vector<int>>&res,int k,int n,vector<int>&tmp,int sum,int pos){
if(tmp.size()==k){
if(sum==n){
res.push_back(tmp);
}
return;
}
for(int i=pos;i<10;++i){
//cout<<pos<<'-'<<i<<' ';
if(sum+i>n)
return;
tmp.push_back(i);
help(res,k,n,tmp,sum+i,i+1);
tmp.pop_back();
}
}
};algorithm analysis
Last updated