首页 > 其他 > 详细

Combinations

时间:2015-04-16 19:32:47      阅读:221      评论:0      收藏:0      [点我收藏+]
/*
题意:给两个数n,和k,求1-n的组合情况
解法:递归求解
*/
class Solution {
public:
    vector<vector<int> >res;
    int count;
    void Comb(int A[],int n,int k,int step){
        if(step == k){//找到一种情况
            res.push_back(vector<int>());
            for(int i = 0 ; i < k ; i++){
                res[count].push_back(A[i]);
            }
            count++;
            return ;
        }
        for(int i = (step == 0)?1:A[step-1]+1; i<=n ; i++){
                A[step] = i;
                Comb(A,n,k,step+1);
        }
    }
    vector<vector<int> > combine(int n, int k) {
        int A[k+1];
        count = 0;
        Comb(A,n,k,0);
        return res;
    }
};

 

Combinations

原文:http://www.cnblogs.com/llei1573/p/4432749.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!