【leetcode题解】【回溯】【54】【M】Subsets II
来源:互联网 发布:js修改url参数 不刷新 编辑:程序博客网 时间:2024/06/05 22:48
Given a collection of integers that might contain duplicates, nums, 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 nums = [1,2,2]
, a solution is:
[ [2], [1], [1,2,2], [2,2], [1,2], []]
Subscribe to see which companies asked this question
方法一,跳过相同元素(不能用if,得用while,总忘)
方法二,跟subset一样,添加结果的时候判断,是否重复
class Solution(object): def bt(self,nums,temp,start,l,res): #print start,l,temp if len(temp) > l: return if len(temp) == l:# and temp not in res: #print 'added' res.append(temp[:]) return i = start while i <len(nums): #temp.append(nums[i]) self.bt(nums,temp+[nums[i]],i+1,l,res) while i<len(nums)-1 and nums[i] == nums[i+1]: i+=1 continue i += 1 #temp.pop(-1) def subsetsWithDup(self, nums): nums.sort() res = [] for i in range(0,len(nums)+1): self.bt(nums,[],0,i,res) return res'''class Solution(object): def bt(self,nums,temp,start,l,res): #print start,l,temp if len(temp) > l: return if len(temp) == l and temp not in res: res.append(temp[:]) #return for i in range(start,len(nums)): #temp.append(nums[i]) self.bt(nums,temp+[nums[i]],i+1,l,res) #最开始i+1 写成了 start+1,那肯定是错了啊!! #temp.pop(-1) def subsetsWithDup(self, nums): res = [] nums.sort() for i in range(0,len(nums)+1): #print '______' self.bt(nums,[],0,i,res) return res'''
0 0
- 【leetcode题解】【回溯】【54】【M】Subsets II
- 【VIP】【leetcode题解】【回溯】【97.5】【M】Subsets
- [leetcode][回溯] Subsets II
- LeetCode题解:Subsets II
- leetcode题解-78. Subsets && 90. Subsets II
- Leetcode 90. Subsets II题解
- LeetCode-90-Subsets II(回溯)-Medium
- (回溯法)LeetCode#90. Subsets II
- LeetCode-90-Subsets II 暴力dfs回溯
- LeetCode题解:Subsets I and II
- LeetCode 题解(24): Subsets II
- 【回溯】【leetcode题解】【M】【57】Combination Sum
- 【LeetCode】 Subsets Subsets II
- 【LeetCode】Subsets & Subsets II
- LeetCode Subsets && Subsets II
- LeetCode Subsets && Subsets II
- LeetCode-Subsets & Subsets II
- [leetcode][回溯] Subsets
- 插入排序(直接插入排序和希尔(shell)排序
- UCOSIII 任务管理(中)
- Spring学习笔记<一>
- J2EE之基础篇
- poj 2565 Average is not Fast Enough! 水题
- 【leetcode题解】【回溯】【54】【M】Subsets II
- [test]图片
- hdoj1212Big Number(大数)
- 汇编总结
- [LeetCode]035-Search Insert Position
- myeclipse/eclipse修改默认的java代码风格
- Intellij IDEA安装golang插件
- cuda中矩阵相加编程
- java开发中文乱码总结