Lintcode18 Subsets II solution 题解
来源:互联网 发布:臭氧灯能除螨虫知乎 编辑:程序博客网 时间:2024/06/05 17:06
【题目描述】
Given a list of numbers that may has duplicate numbers, return all possible subsets
Notice:Each element in a subset must be in non-descending order.The ordering between two subsets is free.The solution set must not contain duplicate subsets.
给定一个可能具有重复数字的列表,返回其所有可能的子集
注意:子集中的每个元素都是非降序的;两个子集间的顺序是无关紧要的;解集中不能包含重复子集
【题目链接】
http://www.lintcode.com/en/problem/subsets-ii/
【题目解析】
经典的DFS问题,如果有跟过九章微博的同学 应该会相当熟悉这个套路,跟前一个题目SubSet的区别是,有了重复的问题。怎么解决呢?
很简单。在每一次选数字的时候,只选第一个重复的数字,不选后面的,这样就不会有重复的set出现了。这里肯定有同学问了,如果你只选第一个,那222这种组合怎么弄出来?答案是:用递归时就不要考虑太多,只要考虑当前的情况。
例子: 1 2 2 2 2 3 4
那么你得到2 2 2 的过程是三层递归,每一层 都只选当前index开始的第一个2,所以2 2 2 还是可以组出来的。而且不会组出重复的,因为每一层递归你没有考虑重复,这就可以了。
还是要记住递归的精髓:考虑本层递归就好,别想太多
【答案链接】
https://www.jiuzhang.com/solutions/subsets-ii/
- Lintcode18 Subsets II solution 题解
- Lintcode17 Subsets solution 题解
- LeetCode题解:Subsets II
- leetcode题解-78. Subsets && 90. Subsets II
- Leetcode 90. Subsets II题解
- Lintcode16 Permutations II solution 题解
- LeetCode题解:Subsets I and II
- LeetCode 题解(24): Subsets II
- 【leetcode题解】【回溯】【54】【M】Subsets II
- Lintcode34 N-Queens II solution 题解
- Lintcode36 Reverse Linked List II solution 题解
- Lintcode42 Maximum Subarray II solution 题解
- Lintcode47 Majority Number II solution 题解
- Lintcode54 String to Integer II solution 题解
- Lintcode153 Combination Sum II solution 题解
- 【LeetCode】 Subsets Subsets II
- 【LeetCode】Subsets & Subsets II
- LeetCode Subsets && Subsets II
- ZOJ2975
- mybatis中插入数据自动返回自增长id的配置
- Qt软件开发文档8---登陆界面的绘制及其封装
- IntelliJ IDEA 乱码解决方案 (项目代码、控制台等)
- poj 2318 TOYS(叉积)
- Lintcode18 Subsets II solution 题解
- 自定义TextView显示.ttf文件中的字符
- 鼠标掠过显示图片的demo
- poj 2182 Lost Cows 暴力或者用线段树 + poj2828Buy Tickets
- linux解压-压缩命令
- 文章标题
- 操作系统:并发和并行
- 安装 Kali Linux 后需要做的 20 件事
- Dubbo原理简单分析