Combinations

来源:互联网 发布:自己的淘宝店铺怎么刷 编辑:程序博客网 时间:2024/06/05 15:21

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],]

解题技巧:

采用递归的方法

代码:

void OneCombine(vector< vector<int> > & res, vector<int> &tmp, int n, int k, int t){    if(tmp.size() == k)    {        res.push_back(tmp);        return;    }    for(int i = t; i <= n; i++)    {        tmp.push_back(i);        OneCombine(res, tmp, n, k, ++t);        tmp.pop_back();    }}vector< vector<int> > combine(int n, int k){   int t = 1;   vector<int> tmp;   vector< vector<int> > res;   OneCombine(res, tmp, n, k, t);   return res;}


0 0
原创粉丝点击