首页 > 其他 > 详细

[leetcode]Subsets

时间:2014-07-26 01:34:56      阅读:298      评论:0      收藏:0      [点我收藏+]

Subsets

Given a set of distinct integers, S, 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 S = [1,2,3], a solution is:

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

算法思路:

题中要求求出所有的,直接暴力吧,dfs

代码如下:

 1 public class Solution {  List<List<Integer>> res = new ArrayList<List<Integer>>();
 2     public List<List<Integer>> subsets(int[] s) {
 3         if(s == null || s.length== 0) return res;
 4         Arrays.sort(s);
 5         List<Integer> list = new ArrayList<Integer>();
 6         dfs(list,0,0,s);
 7         return res;
 8     }
 9     private void dfs(List<Integer> list,int k,int count,int[] s){
10         if(count > s.length) return;
11         if(count <= s.length){
12             res.add(new ArrayList<Integer>(list));
13         }
14         for(int i = k; i < s.length; i++){
15             list.add(s[i]);
16             dfs(list,i + 1,count+1,s);
17             list.remove(list.size() - 1);
18         }
19     }
20     
21 }

 

[leetcode]Subsets,布布扣,bubuko.com

[leetcode]Subsets

原文:http://www.cnblogs.com/huntfor/p/3869112.html

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