码迷,mamicode.com
首页 > 其他好文 > 详细

Combinations <leetcode>

时间:2014-09-09 21:17:39      阅读:205      评论:0      收藏:0      [点我收藏+]

标签:style   blog   color   os   io   ar   for   art   div   

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

算法:该题很简单,但是当时没想到,上网上一查才恍然大悟,就是构造一个解空间,然后用回溯解决,soeasy,不说了,上代码:

 1 class Solution {
 2 public:
 3     vector<vector<int>>  result;
 4     vector<int>  node;
 5     vector<vector<int> > combine(int n, int k) {
 6          result.clear();
 7          node.resize(k);
 8          doit(0,n,k,1);
 9          return result;
10     }
11     void doit(int dep,int n,int k,int start)
12     {
13         if(dep==k)
14         {
15             result.push_back(node);
16             return;
17         }
18         else
19         {
20             for(int i=start;i<=n-k+1+dep;i++)
21             {
22                 node[dep]=i;
23                 doit(dep+1,n,k,i+1);
24             }
25         }
26     }
27 };

 

Combinations <leetcode>

标签:style   blog   color   os   io   ar   for   art   div   

原文地址:http://www.cnblogs.com/sqxw/p/3963245.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!