Subsets II @Leetcode
来源:互联网 发布:怎样看懂乙肝五项数据 编辑:程序博客网 时间:2024/05/17 04:41
Subsets II
//Given a collection of integers that might contain duplicates, nums, return all possible subsets.
//For example, If nums = [1,2,2], a solution is: [/**
[2],
[1],
[1,2,2],
[2,2],
[1,2],
[]
]
*/
Learn ideas from http://www.jiuzhang.com/solutions/subsets-ii/
1pay attention to how to solve the duplicates:
if(pos != start && nums[pos] == nums[pos - 1])
continue;
so when we do the for loop, and meet the element that is the start of the loop and it is equal to the former element, we just jump over this condition and continue the loop. Cause this condition has been solved when we do the first loop for the pos
2 also this is quite a unique dfs, it added the tem result for every dps function, cause when enter the loop, there must be a unique condition
Here is the code.
public class Solution { public List<List<Integer>> subsetsWithDup(int[] nums) { List<List<Integer>> result = new ArrayList<List<Integer>>(); List<Integer> tem = new ArrayList<Integer>(); //get the length of the array int length = nums.length; //special case that the length of the array is zero if(length == 0) return result; Arrays.sort(nums); helper(0, tem, result, nums); return result; } public void helper(int start, List<Integer> tem, List<List<Integer>> result, int[] nums){ result.add(new ArrayList<Integer>(tem)); int length = nums.length; for(int pos = start; pos < length; pos++){ if(pos != start && nums[pos] == nums[pos - 1]) continue; tem.add(nums[pos]); helper(pos + 1, tem, result, nums); tem.remove(tem.size() - 1); } }}
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
- Java enum的用法详解
- AngularJS带给你一个简单完善的Demo
- whuoj1574 第K小数
- CocoaPods安装和使用--(版本依赖写的特别的清楚。。大于和小于等版本号的写法)
- POJ题目分类
- Subsets II @Leetcode
- 前端程序员:月薪5K到5万,我干了啥
- 浅析@synthesize与@dynamic的最本质区别
- IOS App文件保存目录
- 使用VMWare的nat连接实现zabbix虚拟机与主机IP共享
- eclipse 高效快捷键
- ArcGIS Data Store 空间数据库的那点儿事
- 百度地图配置使用
- java处理小数点数据