class Solution {
public:
void dfs(vector<vector<int>>& res,int k,int layer,vector<int>& temp,int& n){
if(layer==k){
res.push_back(temp);
return ;
}
for(int i=1;i<=n;i++){
//if(find(temp.begin(),temp.end(),i)==temp.end()){
if(i<=temp.back()) continue;
temp.push_back(i);
dfs(res,k,layer+1,temp,n);
temp.pop_back();
//}
}
}
vector<vector<int>> combine(int n, int k) {
vector<vector<int>> res;
vector<int> temp;
for(int i=1;i<=n;i++){
temp.push_back(i);
dfs(res,k,1,temp,n);
temp.pop_back();
}
return res;
}
};
LeetCode77 组合
最新推荐文章于 2022-10-07 08:18:12 发布