Subsets II
来源:互联网 发布:js amd cmd规范 编辑:程序博客网 时间:2024/05/16 14:00
问题描述
与Subset I 相似, 这里数组中可以有重复元素
解法一:
思路:
用Subset I 的递归版本的模板,添加判断语句,把重复元素剔除。。
Code:
class Solution { /** * @param nums: A set of numbers. * @return: A list of lists. All valid subsets. */ public ArrayList<ArrayList<Integer>> subsetsWithDup(int[] nums) { // write your code here ArrayList<ArrayList<Integer>> results = new ArrayList<>(); if (nums == null || nums.length == 0){ return results; } Arrays.sort(nums); ArrayList<Integer> subset = new ArrayList<>(); helper(nums, 0 , subset, results); return results; } private void helper(int[] nums , int startIndex, ArrayList<Integer> subset, ArrayList<ArrayList<Integer>> results){ results.add(new ArrayList<Integer>(subset)); for (int i = startIndex; i < nums.length; i++){ if (i != startIndex && nums[i] == nums[i - 1]){ continue; } subset.add(nums[i]); helper(nums, i + 1, subset, results); subset.remove(subset.size() - 1); } }}
0 0
- 【LeetCode】 Subsets Subsets II
- 【LeetCode】Subsets & Subsets II
- LeetCode Subsets && Subsets II
- Subsets and Subsets II
- LeetCode Subsets && Subsets II
- LeetCode-Subsets & Subsets II
- Subsets II
- Subsets II
- Subsets II
- Subsets II
- Subsets II
- Subsets II
- Subsets II
- Subsets II
- Subsets II
- Subsets II
- Subsets II
- Subsets II
- 128. Longest Consecutive Sequence
- MELP算法的Python实现(三)
- PAT 1042
- tomcat10分钟自检
- 聊聊阻塞与非阻塞、同步与异步、I/O模型
- Subsets II
- 创建单例Singleton的三种方式:懒汉式、饿汉式、枚举类
- 常见的嵌入式linux学习和如何选择ARM芯片问答
- poj 1029趣味枚举
- POJ 1260-Pearls(DP-买珍珠)
- PHP面向对象之旅:一个接口实例,很好的例子
- react-native-router-flux 使用详解(一)
- Head First设计模式学习笔记-------(4.1)工厂模式
- (ssl1458)数字金字塔(三角形)顺推一个数组法(好长的名字Σ( ° △ °|||)︴)