LeetCode77 组合

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;
    }
};

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_40200779/article/details/84327495