LeetCode OJ - Subsets II
来源:互联网 发布:linux awk 替换字符串 编辑:程序博客网 时间:2024/05/22 00:53
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的方法来做,里面会有重复的item,例如010和001的到的item都为[2]
方法一:subsets改进
DFS(s, layer, item) { if(layer == s.size()) { for(int i = 0; i < ret.size(); i++) { if(ret.at(i) == item) return; //此处也可以用ret[i]; } ret += item; } DFS(s, layer+1, item); item.push_back(s[layer]); DFS(s, layer+1, item);}
方法二:以{1、2、3}为例,根据 空子集 + {1...、 2...、 3... }来构建树,每一次函数调用访问树的所有子节点。然后去重
ret += path; //空子集DFS(s, start, path) { for(i = start; i < s.size(); i++) { if(i != start && s[i] == s[i-1]) continue; path += s[i]; ret += path; DFS(s, i+1; path); path -= s[i]; }}
0 0
- LeetCode OJ:Subsets II
- LeetCode OJ - Subsets II
- LeetCode OJ Subsets II
- 【LeetCode OJ 090】Subsets II
- <LeetCode OJ> 78 / 90 Subsets (I / II)
- 【LeetCode】 Subsets Subsets II
- 【LeetCode】Subsets & Subsets II
- LeetCode Subsets && Subsets II
- LeetCode Subsets && Subsets II
- LeetCode-Subsets & Subsets II
- LeetCode OJ 之 Subsets II (子集合-二)
- [LeetCode] Combinations、Subsets、Subsets II
- 【Leetcode】【python】Subsets/Subsets II
- LeetCode OJ:Subsets
- LeetCode OJ - Subsets
- LeetCode OJ Subsets
- 【LeetCode OJ 078】Subsets
- LeetCode OJ-78.Subsets
- [LeetCode] Decode Ways [33]
- ArcGIS教程:创建散点图
- 《怪物弹珠》新手技巧大彙整!!!下篇
- qt增加文件对话框
- @Override报错
- LeetCode OJ - Subsets II
- myeclipse中设置字体大小
- tomcat 乱码
- 广州PHP培训就业班让你不容错过的精彩
- async_read 和 async_read_some 的区别
- app store账号改变地区
- 编辑文章 - 博客频道 - CSDN.NET
- 珊瑚SDK Demo代码 开发框架分析!
- [开发] 开发容易犯的错误,更新中...