Java LeetCode78。サブセット

繰り返される要素のない整数配列numのセットが与えられた場合、配列のすべての可能なサブセット(べき集合)を返します。
注:ソリューションセットに重複するサブセットを含めることはできません。
例:
入力:nums = [1,2,3]
出力:
[
[3]、
[1]、
[2]、
[1,2,3]、
[1,3]、
[2,3]、
[1 、2]、
[]
]

class Solution {
    
    
    public List<List<Integer>> subsets(int[] nums) {
    
    
        List<List<Integer>> res = new ArrayList();
        Deque<Integer> que = new LinkedList();
       
        back(0,nums,que,res);
        return res;
    }
    public void back(int start,int[] nums,Deque<Integer> que,List<List<Integer>> res){
    
    
        
        res.add(new ArrayList(que));
            
        

        for(int i=start;i<nums.length;i++){
    
    
            que.addLast(nums[i]);
           
            back(i+1,nums,que,res);
            
            que.removeLast();
        }
    }
}

おすすめ

転載: blog.csdn.net/sakura_wmh/article/details/110788978