第一の部分集合90 leetcodeタイトル||(+バック重量に対して)√

免責事項:この記事はブロガーオリジナル記事です、続くBY-SAのCC 4.0を著作権契約、複製、元のソースのリンクと、この文を添付してください。
このリンク: https://blog.csdn.net/m0_37719047/article/details/102723359

所与の整数NUMSの配列は、すべての可能なサブセット(パワー設定)の配列を返す、重複する要素を含んでいてもよいです。

説明:ソリューションセットの重複サブセットを含めることはできません。

例:

入力:[1,2,2]
出力

[ [2]、
[1]、
[1,2,2]、
[2,2]、
[1,2]、
[]
]

class Solution {
    public List<List<Integer>> subsetsWithDup(int[] nums) {
        Arrays.sort(nums);
        List<List<Integer>>  ret=new ArrayList<List<Integer>>();
        List<Integer> list=new ArrayList<Integer>();
        subsetsWithDup(nums,ret,list,0);
        return ret;
        
    }
    public void subsetsWithDup(int[] ns,List<List<Integer>>  ret,List<Integer> list,int start) {
        ret.add(new ArrayList(list));
        for(int i=start;i<ns.length;i++){
            if(i!=start&&ns[i]==ns[i-1]) continue;
            int temp=ns[i];
            list.add(temp);
            subsetsWithDup(ns,ret,list,i+1);
            list.remove(list.size()-1);
        }
    }
}

おすすめ

転載: blog.csdn.net/m0_37719047/article/details/102723359