Leetcode 77. 组合

递归,深搜回溯

class Solution {
public:
    vector<vector<int>> ans;
    vector<int> tmp;
    void dfs(int cnt,int n){
        if(!cnt) {ans.push_back(tmp);return;}
        for(int i=tmp.back()+1;i+cnt-1<=n;++i)
            tmp.push_back(i),dfs(cnt-1,n),tmp.pop_back();
    }
    vector<vector<int>> combine(int n, int k) {
        for(int i=1;i+k-1<=n;++i)
            tmp.push_back(i),dfs(k-1,n),tmp.pop_back();
        return ans;
    }
};

猜你喜欢

转载自blog.csdn.net/bendaai/article/details/80325562
今日推荐