LeetCode:Combinations

来源:互联网 发布:hadoop与云计算的关系 编辑:程序博客网 时间:2024/06/15 10:09

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







0 0
原创粉丝点击