代码改变世界

leetcode - Combinations

2013-03-26 19:53  张汉生  阅读(154)  评论(0编辑  收藏  举报

题目描述:点击此处

 1 class Solution {
 2 public:
 3     void solve(vector<vector<int>> &rlt, vector<int> cur, int k, int n){
 4         int last = 0;
 5         if (!cur.empty())
 6             last = *(cur.end()-1);
 7         for (int i= last+1; n-i>=k-1; i++){
 8             vector<int> tvc = cur;
 9             tvc.push_back(i);
10             if (k==1)
11                 rlt.push_back(tvc);
12             else solve(rlt, tvc, k-1, n);
13         }
14     }
15     vector<vector<int> > combine(int n, int k) {
16         // Start typing your C/C++ solution below
17         // DO NOT write int main() function
18         vector<vector<int>> rlt;
19         vector<int> cur;
20         solve(rlt, cur, k, n);
21         return rlt;
22     }
23 };