1. 209
2. 算法
http://www.cnblogs.com/grandyang/p/4537983.html
- 回溯dfs:O(n!)
3. 代码
class Solution{
public:
vector<vector<int> > combinationSum3(int k,int n){
vector<vector<int> > res;
vector<int> out;
combinationSum3(k,n,1,out,res);
return res;
}
private:
void combinationSum3(int k,int n,int level,vector<int>& out,vector<vector<int> >& res){
if(n<0) return;
if(n==0 && out.size()==k) res.push_back(out);
for(int i=level;i<=9;i++){
out.push_back(i);
combinationSum3(k,n-i,i+1,out,res);
out.pop_back();
}
}
};