leetcode 【 Subsets II 】python 实现
2024-08-29 12:03:28
题目:
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],
[]
]
代码:oj测试通过 Runtime: 78 ms
class Solution:
# @param num, a list of integer
# @return a list of lists of integer
def dfs(self, start, S, result, father_elements):
if father_elements in result:
return
result.append(father_elements)
for i in range(start, len(S)):
self.dfs(i+1, S, result, father_elements+[S[i]]) def subsetsWithDup(self, S):
# none case
if S is None:
return []
# deep first search
result = []
first_depth = {}
self.dfs(0, sorted(S), result, [])
return result
思路:
大体思路跟Subsets差不多,详情见:
http://www.cnblogs.com/xbf9xbf/p/4253208.html
只需要每次向result中添加子集时注意判断一下这个子集是否已经存在。如果存在那么就直接返回,不做处理。
最新文章
- 简历生成平台项目开发-STEP5初步界面demo实现
- 剑指offer七:两个链表的第一个公共结点
- [BCB] C++ BUILDER 绘图 随机生成图形
- 利用Abot爬虫和visjs 呈现漫威宇宙
- NLPIR分词工具的使用(java环境下)
- VS预生成事件命令行 和 生成后事件命令行
- (转)MongoDB 3.0 WT引擎参考配置文件
- Mybatis 示例之 SelectKey(转)
- Android监听事件
- LoadRunner日志(归档记录,以便自己查阅)
- 缩进(Python很将就格式)
- 纪中集训 Day 7
- vue 增删改查
- Export OracleDB Schema To Doc
- 值得Python小白学习的书 简单推荐几本吧
- C#异步的世界(重点:新异步)
- 发行版Linux和麒麟操作系统下netperf 网络性能测试
- 关于electron的跨域问题,有本地的图片的地址,访问不了本地的图片
- Beginning SDL 2.0(3) SDL介绍及BMP渲染
- redis优化方案