主页 > 电脑硬件  > 

【子集回溯】Leetcode78.子集90.子集II

【子集回溯】Leetcode 78. 子集 90. 子集 II 78. 子集90. 子集 II

---------------🎈🎈78. 子集 题目链接🎈🎈-------------------

78. 子集 class Solution { List<List<Integer>> result= new ArrayList<>(); public List<List<Integer>> subsets(int[] nums) { result.add(new ArrayList<>()); helper(nums,0); return result; } List<Integer> resulttemp = new ArrayList<>(); public void helper(int[] nums, int start){ for(int i = start; i < nums.length; i++){ resulttemp.add(nums[i]); result.add(new ArrayList<>(resulttemp)); helper(nums,i+1); resulttemp.removeLast(); } } }

---------------🎈🎈90. 子集 II 题目链接🎈🎈-------------------

90. 子集 II

使用一个flag 树层去重——当前层如果遇到相同的就跳过 【去重前记得排序!】

class Solution { List<List<Integer>> result = new ArrayList<>(); List<Integer> resulttemp = new ArrayList<>(); public List<List<Integer>> subsetsWithDup(int[] nums) { Arrays.sort(nums); result.add(resulttemp); helper(nums,0); return result; } public void helper(int[] nums, int start){ boolean flag = false; for(int i = start; i < nums.length; i++){ if(flag && nums[i] == nums[i-1] ){ continue; } flag = true; resulttemp.add(nums[i]); result.add(new ArrayList<>(resulttemp)); helper(nums,i+1); resulttemp.removeLast(); } } }
标签:

【子集回溯】Leetcode78.子集90.子集II由讯客互联电脑硬件栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“【子集回溯】Leetcode78.子集90.子集II