77.组合
给定两个整数 n 和 k,返回 1 … n 中所有可能的 k 个数的组合。
- DFS
class Solution {
public:
vector<vector<int>> combine(int n, int k) {
if(k == 0) return {};
vector<vector<int> > res;
vector<int> tmp;
DFS(res,tmp,1,k,n);
return res;
}
void DFS(vector<vector<int> > &res,vector<int> &tmp,int count,int k,int n){
if(tmp.size() == k){
res.push_back(tmp);
return;
}
for(int i = count;i < n + 1;i++){
tmp.push_back(i);
DFS(res,tmp,i+1,k,n);
tmp.pop_back();
}
}
};
通过时间: