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

LeetCode Subsets

时间:2014-10-28 00:24:24      阅读:240      评论:0      收藏:0      [点我收藏+]

标签:des   style   blog   io   color   os   ar   for   sp   

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],
  []
]

思路是,每次添加一个元素,就是在上一次的基础上,对每个列表加入元素,再与上一次的合并。

 1 public class Solution {
 2     public List<List<Integer>> subsets(int[] S) {
 3             List<List<Integer>> lastList=new ArrayList<>();
 4             List<Integer> nonSet= new ArrayList<>();
 5             lastList.add(nonSet);
 6             if (S==null || S.length==0) {
 7             return lastList;
 8             }
 9             Arrays.sort(S);
10             
11             for (int i = 0; i < S.length; i++) {
12                 List<List<Integer>> tempList=new ArrayList<>();         
13             for (List<Integer> list : lastList) {
14                     List<Integer> currlist=new ArrayList<>();
15                     currlist.addAll(list);
16                     currlist.add(S[i]);
17                     tempList.add(currlist);
18             }
19             lastList.addAll(tempList);
20             }
21             return lastList;
22     }
23 }

 

LeetCode Subsets

标签:des   style   blog   io   color   os   ar   for   sp   

原文地址:http://www.cnblogs.com/birdhack/p/4055511.html

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