Leetcode 78.子集
阿新 • • 發佈:2018-12-23
重復元素 pan bsp pub [1] == turn 輸入 list
子集
給定一組不含重復元素的整數數組 nums,返回該數組所有可能的子集(冪集)。
說明:解集不能包含重復的子集。
示例:
輸入: nums = [1,2,3]
輸出:
[
[3],
[1],
[2],
[1,2,3],
[1,3],
[2,3],
[1,2],
[]
]
1 class Solution { 2 public List<List<Integer>> subsets(int[] nums) { 3 List<List<Integer>> res=newArrayList<List<Integer>>(); 4 for(int i=1;i<=nums.length;i++){ 5 List<Integer> temp=new ArrayList<Integer>(); 6 dfs(res,temp,nums,i,0); 7 } 8 res.add(new ArrayList<Integer>()); 9 return res; 10 } 11 12public void dfs(List<List<Integer>> res,List<Integer> temp,int[] nums,int k,int m){ 13 if(k==0){ 14 res.add(new ArrayList<Integer>(temp)); 15 return; 16 } 17 for(int i=m;i<nums.length;i++){ 18 temp.add(nums[i]);19 dfs(res,temp,nums,k-1,i+1); 20 temp.remove(temp.size()-1); 21 } 22 } 23 }
Leetcode 78.子集