leecode:combinations

来源:互联网 发布:用邮箱怎么注册淘宝账号 编辑:程序博客网 时间:2024/05/20 08:23

Given two integers n and k, return all possible combinations ofk 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 {public:    void findAllCombinations(vector<vector<int> > &r, vector<int> &t, int n, int k, int num)        {        if(t.size() == k)            {            r.push_back(t);            return;        }        for(int i = num; i <= n; i++)            {            t.push_back(i);            findAllCombinations(r, t, n, k, i + 1);            t.pop_back();        }    }    vector<vector<int> > combine(int n, int k) {        vector<vector<int> > res;        vector<int> tmp;        findAllCombinations(res, tmp, n, k, 1);        return res;    }};

0 0