题解 | #集合的所有子集(一)#
集合的所有子集(一)
https://www.nowcoder.com/practice/c333d551eb6243e0b4d92e37a06fbfc9
import java.util.*; public class Solution { public ArrayList<ArrayList<Integer>> subsets (int[] S) { // write code here ArrayList<ArrayList<Integer>> ret = new ArrayList<>(); ArrayList<Integer> a = new ArrayList<>(); ret.add(a); for (int i = 0; i < S.length; i++) { int size = ret.size(); for (int j = 0; j < size;j++) { ArrayList<Integer> tmp = new ArrayList<>(); tmp.addAll(ret.get(j)); tmp.add(S[i]); ret.add(tmp); } } for (int i = 0; i < ret.size(); i++) { for (int j = 0; j < ret.size()-1; j++) { if (ret.get(j).size() > ret.get(j+1).size()) { ArrayList<Integer> tmp = ret.get(j); ret.set(j, ret.get(j+1)); ret.set(j+1, tmp); } } } return ret; } }