题解 | #集合的所有子集(一)#

集合的所有子集(一)

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;
    }


    
}

全部评论

相关推荐

野猪不是猪🐗:把你的学校加黑,加粗,斜体,下划线,描边,内阴影,内发光,投影,外发光,再上渐变色,居中,放大到最大字号,再把简历里其它内容删了,就行了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务