首页 > 代码库 > Combinations(带for循环的DFS)

Combinations(带for循环的DFS)

Given two integers n and k, return all possible combinations of k numbers out of 1 ... n.

For example,
If n = 4 and k = 2, a solution is:

[  [2,4],  [3,4],  [2,3],  [1,2],  [1,3],  [1,4],]
class Solution {private:    vector<vector<int>> res;    int myn;    int num;public:    void tra(int loc,int start,vector<int> temp){        if(loc==num+1)        {            res.push_back(temp);            return;        }        for (int i=start;i<=myn;++i)        {            temp.push_back(i);            tra(loc+1,i+1,temp);            temp.erase(temp.end()-1);        }    }    vector<vector<int>> combine(int n, int k) {        myn=n;        num=k;        vector<int> temp;        tra(1,1,temp);        return res;    }};

 



Combinations(带for循环的DFS)