https://www.cnblogs.com/grandyang/p/4332522.html

本质上跟subsets更像,因为回溯回来只能选下一个位置的数值,可选择的数值在减少,搜索树的形状与subsets更像。

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

不同的是, 不是所有的节点都是可行解了,而是第k层所有的节点。

class Solution {
public:
    vector<vector<int>> combine(int n, int k) {
        vector<vector<int> > result;
        if(n <= 0 || k <= 0 || n < k)
            return result;
        vector<int> res;
        int level = 1;
        combine(n,k,result,res,level);
        return result;
    }   
    void combine(int n,int k,vector<vector<int> >& result,vector<int> res,int level){
        if(res.size() == k){
            result.push_back(res);
            return;
        }
        
        for(int i = level;i <= n;i++){
            res.push_back(i);
            combine(n,k,result,res,i+1);
            res.pop_back();
        }
    }
};

 

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄