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

LeetCode:Combinations 题解

时间:2014-07-01 13:01:01      阅读:177      评论:0      收藏:0      [点我收藏+]

标签:style   blog   color   strong   os   art   

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],
]
DFS,递归
 1 class Solution {
 2 public:
 3     vector<vector<int> > ans;
 4     vector<int> vi;
 5     int k_start,n_start;
 6     void DFS(int Count,int start)
 7     {
 8         if(Count== k_start)
 9         {
10             ans.push_back(vi);
11             return;
12         }
13         for(int i=start;i<n_start;i++)
14         {
15             vi[Count] = i+1;
16             DFS(Count+1, i+1);
17         }
18     }
19     vector<vector<int> > combine(int n, int k) {
20         ans.clear();
21         vi.resize(k);
22         k_start = k;
23         n_start = n;
24         DFS(0,0);
25         return ans;
26     }
27 };

 

LeetCode:Combinations 题解,布布扣,bubuko.com

LeetCode:Combinations 题解

标签:style   blog   color   strong   os   art   

原文地址:http://www.cnblogs.com/double-win/p/3817253.html

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