[leetcode 77] Combinations

来源:互联网 发布:西安seo公司 编辑:程序博客网 时间:2024/06/06 13:56

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


0 0
原创粉丝点击