leetcode JAVA Subsets II 4.26 难度系数4
来源:互联网 发布:星际争霸兵种数据 编辑:程序博客网 时间:2024/06/06 09:14
Given a collection of integers that might contain duplicates, S, return all possible subsets.
Note:
- Elements in a subset must be in non-descending order.
- The solution set must not contain duplicate subsets.
For example,
If S = [1,2,2]
, a solution is:
[ [2], [1], [1,2,2], [2,2], [1,2], []]
public class Solution { public ArrayList<ArrayList<Integer>> subsetsWithDup(int[] num) { ArrayList<ArrayList<Integer>> results = new ArrayList<ArrayList<Integer>>(); ArrayList<Integer> result = new ArrayList<Integer>(); Arrays.sort(num); dfs(num,0,result,results); return results; }private void dfs(int[] num, int step, ArrayList<Integer> result,ArrayList<ArrayList<Integer>> results) {if(!results.contains(result)) results.add(new ArrayList<Integer>(result));for(int i=step;i<num.length;i++){result.add(num[i]);dfs(num, i+1, result, results);result.remove(result.size()-1);}}}
跟上题一样,可以2种方式加上去除重复。
第二种去重:
public class Solution { public ArrayList<ArrayList<Integer>> subsetsWithDup(int[] num) { ArrayList<ArrayList<Integer>> results = new ArrayList<ArrayList<Integer>>(); ArrayList<Integer> result = new ArrayList<Integer>(); Arrays.sort(num); dfs(num,0,result,results); return results; }private void dfs(int[] num, int step, ArrayList<Integer> result,ArrayList<ArrayList<Integer>> results) {results.add(new ArrayList<Integer>(result));for(int i=step;i<num.length;i++){if(i!=step&&num[i]==num[i-1])continue;result.add(num[i]);dfs(num, i+1, result, results);result.remove(result.size()-1);}}}
0 1
- leetcode JAVA Subsets II 4.26 难度系数4
- leetcode JAVA Subsets 难度系数3 3.27
- leetcode JAVA Spiral Matrix II 难度系数3 3.19
- leetcode JAVA Unique Paths II 难度系数3 3.21
- leetcode JAVA Unique Binary Search Trees II 4.28 难度系数4
- [Leetcode] Subsets II (Java)
- [LeetCode][Java] Subsets II
- leetcode JAVA Permutations 难度系数3 3.14
- leetcode JAVA Anagrams 难度系数3 3.15
- leetcode JAVA Combinations 难度系数3 3.26
- leetcode JAVA Triangle 难度系数3 3.42
- leetcode JAVA Remove Duplicates from Sorted List II 难度系数3 3.29
- leetcode JAVA Binary Tree Level Order Traversal II 难度系数3 3.39
- leetcode JAVA Best Time to Buy and Sell Stock II 3.43 难度系数3
- leetcode Pascal's Triangle II 2.23 难度系数2
- leetcode 4Sum 难度系数3 3.9
- 【leetcode】90. Subsets II【java】
- [leetcode]90. Subsets II(Java)
- 各国际会议的影响因子
- LayoutInflater的inflate函数root参数的理解
- Android遇上打印机
- 百度地图开发第四天(标注行走路线搜索)
- 图形学思考 - 漫射光 diffuse light
- leetcode JAVA Subsets II 4.26 难度系数4
- cocos2d基础知识
- Qt程序库
- java测试程序耗时的工具类
- java字符串
- 专访雷果国:从1.5K到18K 一个程序员的5年成长之路
- plsql包的建立和应用
- request中参数转化成VO
- 闺蜜