【LeetCode with Python】 Subsets II
来源:互联网 发布:matlab矩阵相乘 编辑:程序博客网 时间:2024/05/21 10:41
博客域名:http://www.xnerv.wang
原题页面:https://oj.leetcode.com/problems/subsets-ii/
题目类型:
难度评价:★
本文地址:http://blog.csdn.net/nerv3x3/article/details/36896337
原题页面:https://oj.leetcode.com/problems/subsets-ii/
题目类型:
难度评价:★
本文地址:http://blog.csdn.net/nerv3x3/article/details/36896337
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], []]
与Subsets差不多,先对输入的列表S排序,唯一需要改动的是只是需要在每次递归的时候记忆前一个字符,从而避免一种情况:相等的字符,如果前一个没有才采纳,则后面的字符则也不能被采纳,通过这种方式可以避免产生重复的子序列。
class Solution: def __init__(self): self.results = [ ] def doSubsets(self, S, cur_list, cur_index, last_ch, add_last_ch): if cur_index > len(S) - 1: self.results.append(cur_list) return cur_list0 = cur_list[:] self.doSubsets(S, cur_list0, cur_index + 1, S[cur_index], False) if not last_ch == S[cur_index] or add_last_ch: cur_list1 = cur_list[:] cur_list1.append(S[cur_index]) self.doSubsets(S, cur_list1, cur_index + 1, S[cur_index], True) # @param num, a list of integer # @return a list of lists of integer def subsetsWithDup(self, S): S.sort() self.doSubsets(S, [ ], 0, "", False) return self.results
0 0
- 【LeetCode with Python】 Subsets II
- 【Leetcode】【python】Subsets/Subsets II
- 【LeetCode with Python】 Subsets
- 90. Subsets II Leetcode Python
- 【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: Subsets II
- LeetCode SubSets II
- LeetCode: Subsets II
- leetcode 48: Subsets II
- [LeetCode] Subsets II
- [Leetcode] Subsets II
- [leetcode] Subsets II
- leetcode Subsets II
- 公钥,私钥,数字签名,数字证书详解
- ubuntu手机在adb连接显示:?????:no permissions的解决办法
- Android Intent启动Activity之前先检查是不是有对应的Acitivity存在
- Allegro绘制PCB流程
- js 日期自动加月数
- 【LeetCode with Python】 Subsets II
- nyoj127星际之门一
- Qt编程13:比较简单的单例模式
- ExtJS 4.2 分页查询
- GDB 调试(七)
- Ubuntu下(c/c++)软件环境的安装
- android控件的对齐方式(转)
- sqlserver 过滤掉某些字段查询剩余字段的方法
- 【人脸检测】Haar分类器原理1——矩形特征与积分图