题解 | #集合的所有子集#

集合的所有子集

http://www.nowcoder.com/practice/c333d551eb6243e0b4d92e37a06fbfc9

import java.util.*;

public class Solution {
    public static ArrayList<ArrayList<Integer>> res = new ArrayList<ArrayList<Integer>>();
    public ArrayList<ArrayList<Integer>> subsets(int[] S) {
        ArrayList<Integer> track = new ArrayList<>();
        Arrays.sort(S);
        dfs(S, 0, track);
        Collections.sort(res,(o1,o2)->{
            return o1.size()-o2.size();
        });
        return res;
    }
    public void dfs(int[] arr, int index, ArrayList<Integer> temp){
        //if(index>=arr.length) return;
        res.add(new ArrayList<Integer>(temp));
        for(int i=index;i<arr.length;i++){
            temp.add(arr[i]);
            dfs(arr,i+1,temp);
            temp.remove(temp.size()-1);
        }
    }
}

回溯后对输出按照元素的长度排个序

全部评论

相关推荐

这是什么操作什么意思,这公司我服了...
斯派克spark:意思是有比你更便宜的牛马了
点赞 评论 收藏
分享
真烦好烦真烦:豆包润色了自己没看看吗,再说了,都说豆包是愚蠢且勤快的大学生,ds才是聪明的研究生,怎么敢让豆包写论文的
你们的毕业论文什么进度了
点赞 评论 收藏
分享
深夜书店vv:腾讯是这样的,去年很多走廊都加桌子当工区
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务