leetcode 77. Combinations

来源:互联网 发布:linux系统测试工具 编辑:程序博客网 时间:2024/06/01 08:58

77. Combinations

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 guocheng(int n, int k, int pos, vector<vector<int>> &result, vector<int> m1)    {           //k代表还要选几个  pos代表上一个是选的是多少        if(k == 0)        {              result.push_back(m1);            return;        }        for(int i = pos + 1; i <= n - k + 1; i++)        {            m1.push_back(i);            guocheng(n,k-1,i,result,m1);            m1.pop_back();        }    }        vector<vector<int>> combine(int n, int k)     {        vector<vector<int>> result;        if(k == 0)            return result;                  vector<int> m1;        guocheng(n, k, 0, result, m1);        return result;    }};