Leetcode#77 Combinations

原题地址

 

DFS,跟求子集合的方法类似,对于任意一个元素,要么选,要么不选。

 

代码:

 1 vector<vector<int> > res;
 2 
 3 void solve(vector<int> ans, int n, int curr, int left) {
 4   if (left == 0)
 5     res.push_back(ans);
 6   else if (n - curr + 1 >= left) {
 7     solve(ans, n, curr + 1, left);
 8     ans.push_back(curr);
 9     solve(ans, n, curr + 1, left - 1);
10   }
11 }
12 
13 vector<vector<int> > combine(int n, int k) {
14   solve(vector<int>(), n, 1, k);
15   return res;
16 }

 

posted @ 2015-01-25 15:36  李舜阳  阅读(115)  评论(0编辑  收藏  举报