LeetCode 90 SubsetsII (Python详解及实现)
2017-08-09 19:34
531 查看
【题目】
Given a collection of integers that mightcontain duplicates, nums, return all possible subsets.
Note: The solution set must not containduplicate subsets.
For example,
If nums = [1,2,2], a solution is:
[
[2],
[1],
[1,2,2],
[2,2],
[1,2],
[]
]
【思路】
是78 题subsets的升级,集合中加入了重复元素,这样可以判断集合中是否已有当前子集,若无则将该子集加入到res中
【Python实现】
Given a collection of integers that mightcontain duplicates, nums, return all possible subsets.
Note: The solution set must not containduplicate subsets.
For example,
If nums = [1,2,2], a solution is:
[
[2],
[1],
[1,2,2],
[2,2],
[1,2],
[]
]
【思路】
是78 题subsets的升级,集合中加入了重复元素,这样可以判断集合中是否已有当前子集,若无则将该子集加入到res中
【Python实现】
【题目】 Given a collection of integers that might contain duplicates, nums, return all possible subsets. Note: 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], [] ] 【思路】 是78 题subsets的升级,集合中加入了重复元素,这样可以判断集合中是否已有当前子集,若无则将该子集加入到res中 【Python实现】 # -*- coding: utf-8 -*- """ Created on Wed Aug 9 19:21:31 2017 @author: Administrator """ class Solution(object): def subsetsWithDup(self, nums): """ :type nums: List[int] :rtype: List[List[int]] """ def dfs(depth, start, valuelist): if valuelist not in res: res.append(valuelist) if depth == len(nums): return for i in range(start, len(nums)): dfs(depth+1, i+1, valuelist+[nums[i]]) nums.sort() res = [] dfs(0, 0, []) print(res) return res if __name__ == '__main__': S= Solution() S.subsetsWithDup([1,2,2])
相关文章推荐
- LeetCode 70 Climbing Stairs(Python详解及实现)
- LeetCode 60 Permutation Sequence (Python实现及详解)
- LeetCode 77 Combinations (Python详解及实现)
- LeetCode 75 SortColor(Python详解及实现)
- LeetCode 81 Search in Rotated Sorted Array II (Python详解及实现)
- LeetCode 71 Simplify Path(Python详解及实现)
- LeetCode 65 ValidNumer(Python详解及实现)
- LeetCode 86 Partition List (Python详解及实现)
- LeetCode 92 Reverse Linked List II (Python详解及实现)
- LeetCode 79 Word Search (Python详解及实现)
- LeetCode 93 Restore IP Addresses(Python详解及实现)
- LeetCode 55 Jump Game(Python 实现及详解)
- LeetCode 87 Scramble String (Python详解及实现)
- 25_LeetCode 82&83. Remove Duplicates from Sorted List(II) (Python详解及实现)
- LeetCode 74 Search a 2D Matrix(Python详解及实现)
- LeetCode 89 Gray Code (Python详解及实现)
- LeetCode 66 Plus One (Python详解及实现)
- LeetCode 84 Largest Rectangle in Histogram (Python详解及实现)
- LeetCode 68 Text Justification(Python详解及实现)
- LeetCode 76 Minimum Window Substring(Python详解及实现)