leetcode: Subsets II
来源:互联网 发布:53端口免流 编辑:程序博客网 时间:2024/06/03 10:50
和一的解决办法类似。。。由于多了重复元素,那么在遍历的时候可能会出现重复的组合....
有两种做法:
1.在插入结果数组的时候利用contains判断一下,重复的不插(contains的效率为O(1))
2.每次选择重复数字的最后一个插入(避免了多次选择重复数字导致的重复插入)
public class Solution { ArrayList<ArrayList<Integer>> res = new ArrayList<ArrayList<Integer>>(); public ArrayList<ArrayList<Integer>> subsetsWithDup(int[] num) { Arrays.sort(num); ArrayList<Integer> tmp = new ArrayList<Integer>(); fun(tmp,num,0,0); return res; } void fun(ArrayList<Integer> tmp,int[] S,int count,int dep) { // if(!res.contains(tmp)) // { // res.add(tmp); // } res.add(tmp); int num = S.length; if(dep==num) { return ; } for(int i=count;i<num;i++) { ArrayList<Integer> ttt = new ArrayList(tmp); ttt.add(S[i]); fun(ttt,S,i+1,dep+1); while(i<num-1) { if(S[i]==S[i+1]) { i++; } else { break; } } } }}
0 0
- 【LeetCode】 Subsets Subsets II
- 【LeetCode】Subsets & Subsets II
- LeetCode Subsets && Subsets II
- LeetCode Subsets && Subsets II
- LeetCode-Subsets & Subsets II
- [LeetCode] Combinations、Subsets、Subsets II
- 【Leetcode】【python】Subsets/Subsets II
- LeetCode: Subsets II
- LeetCode SubSets II
- LeetCode: Subsets II
- leetcode 48: Subsets II
- [LeetCode] Subsets II
- [Leetcode] Subsets II
- [leetcode] Subsets II
- leetcode Subsets II
- leetcode Subsets II problem
- [LeetCode]Subsets II
- [leetcode]Subsets II
- Introspector(内省)简单示例 与 简单应用
- HDU-2006 求奇数乘积
- [leetcode] Single Number II
- Unable to connect to a repository at URL
- ln硬软链接命令
- leetcode: Subsets II
- iOS隐藏键盘的几种方法
- Ansible + Vagrant + Expressjs (Mongodb)
- poj 2506 Tiling
- Python局部变量的一个区别于其他语言的小特性
- [LeetCode]—Largest Rectangle in Histogram 求直方图最大填充矩形面积
- JAVA正则表达式语法
- iOS 各种控件默认高度(图示)
- JAVA正则表达式语法大全