首页 > 其他 > 详细

【leetcode】Subsets

时间:2015-05-13 07:37:33      阅读:288      评论:0      收藏:0      [点我收藏+]

Given a set of distinct integers, nums, return all possible subsets.

Note:
Elements in a subset must be in non-descending order.
The solution set must not contain duplicate subsets.
For example,
If nums = [1,2,3], a solution is:

[
[3],
[1],
[2],
[1,2,3],
[1,3],
[2,3],
[1,2],
[]
]

 

 1 class Solution {
 2 private:
 3     vector<vector<int> >ret;
 4 
 5 public:
 6     void dfs(int dep,int maxDep,vector<int> &num,vector<int> a,int start)
 7     {
 8         ret.push_back(a);
 9 
10         if(dep==maxDep)
11             return ;
12 
13         for(int i=start;i<num.size();i++)
14         {
15             vector<int> b(a);
16             b.push_back(num[i]);
17             dfs(dep+1,maxDep,num,b,i+1);
18         }
19     }
20 
21     vector<vector<int> > subsets(vector<int>& nums) {
22         sort(nums.begin(),nums.end());
23         ret.clear();
24         vector<int> a;
25         dfs(0,nums.size(),nums,a,0);
26 
27         return ret;
28     }
29 };

 

【leetcode】Subsets

原文:http://www.cnblogs.com/jawiezhu/p/4499257.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!