Leetcode99: Combinations

来源:互联网 发布:机顶盒打开软件下载 编辑:程序博客网 时间:2024/06/13 01:35

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 {public:    void bk(int n, int k, int start, vector<vector<int>>& res, vector<int>& tmp)    {        if(tmp.size() == k)            res.push_back(tmp);        for(int i = start; i <= n; i++)        {            tmp.push_back(i);            bk(n, k, i+1, res, tmp);            tmp.pop_back();        }    }    vector<vector<int>> combine(int n, int k) {        vector<int> tmp;        vector<vector<int>> res;        bk(n, k, 1, res, tmp);        return res;    }};



0 0
原创粉丝点击