首页 > 代码库 > leetcode Subsets

leetcode 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],  []]
1,解法:对于数组中的每一个值,都添加到原来的list中去。
2, arrsys本身的sort函数,满足题目中non-descending的要求
public class Solution {    public ArrayList<ArrayList<Integer>> subsets(int[] S) {        ArrayList<ArrayList<Integer>> result = new ArrayList<ArrayList<Integer>>();		if (S == null || S.length == 0) {			return result;		}		Arrays.sort(S);		result.add(new ArrayList<Integer>());		for (int i = 0; i < S.length; i++) {			int lengt = result.size();			for (int j = 0; j < lengt; j++) {				ArrayList<Integer> ad = new ArrayList<Integer>(result.get(j));				ad.add(S[i]);				result.add(ad);			}		}		return result;    }}

  

leetcode Subsets