zoukankan      html  css  js  c++  java
  • [leetcode]Subsets

    子集DFS。注意:1. 层数是k还是k+1;2.Java中ArrayList的排序是Collections.sort(a)

    import java.util.ArrayList;
    import java.util.Collections;
    
    public class Solution {
        public ArrayList<ArrayList<Integer>> subsets(int[] S) {
            // Start typing your Java solution below
            // DO NOT write main() function
            boolean[] status = new boolean[S.length];
        	ArrayList<ArrayList<Integer>> ans = new ArrayList<ArrayList<Integer>>();
        	dfs(S, status, 0, S.length, ans);   	
        	return ans;
        }
        
        public void dfs(int[] S, boolean[] status, int k, int n, ArrayList<ArrayList<Integer>> arr) {
        	if (k == n) {
        		ArrayList<Integer> a = new ArrayList<Integer>();
        		for (int i = 0; i < n; i++) {
        			if (status[i]) {
        				a.add(S[i]);
        			}
        		}
        		Collections.sort(a);
        		arr.add(a);
        		return;
        	}
        	else {
        		status[k] = true;
        		dfs(S, status, k+1, n, arr);
        		status[k] = false;
        		dfs(S, status, k+1, n, arr);
        	}
        }
    }
    

      

  • 相关阅读:
    4、2 核心组件
    promise
    Content-Type
    $routeProvider
    广告
    $apply() $digest()
    异常
    switch
    autoprefixer
    $resource
  • 原文地址:https://www.cnblogs.com/lautsie/p/3239311.html
Copyright © 2011-2022 走看看