zoukankan      html  css  js  c++  java
  • 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;
        }
    }
    

      

  • 相关阅读:
    算法笔记--支配树
    51Nod 1187 寻找分数
    ACM-ICPC 2018 徐州赛区网络预赛 J. Maze Designer
    ACM-ICPC 2018 徐州赛区网络预赛 A. Hard to prepare
    HDU
    HDU
    Codeforces 1011E
    Codeforces 990D
    Codeforces 989C
    Codeforces 932E
  • 原文地址:https://www.cnblogs.com/lilyfindjobs/p/4104823.html
Copyright © 2011-2022 走看看