[LeetCode] Subsets II
来源:互联网 发布:淘宝hd 2.6.1版本 编辑:程序博客网 时间:2024/05/17 00:01
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], []]
Solution 1:
class Solution {public: vector<vector<int> > subsetsWithDup(vector<int> &S) { sort(S.begin(), S.end()); vector<vector<int>> result; int len = S.size(); int maxLen = pow(2, len); for(int i = 0; i < maxLen; i++) { vector<int> temp; for(int j = 0; j < len; j++) { if(i & (1 << j)) temp.push_back(S[j]); } if(find(result.begin(), result.end(), temp) == result.end()) result.push_back(temp); } return result; }};
Solution 2:
class Solution {public: vector<vector<int>> result; void generate(vector<int> &S, vector<int> temp, int level) { if(level == S.size()) { if(count(result.begin(), result.end(), temp) == 0) result.push_back(temp); return; } generate(S, temp, level+1); temp.push_back(S[level]); generate(S, temp, level+1); } vector<vector<int> > subsetsWithDup(vector<int> &S) { sort(S.begin(), S.end()); result.clear(); vector<int> temp; generate(S, temp, 0); return result; }};
Solution 3:
class Solution {public: set<vector<int>> result; void generate(vector<int> &S, vector<int> temp, int level) { if(level == S.size()) { result.insert(temp); return; } generate(S, temp, level+1); temp.push_back(S[level]); generate(S, temp, level+1); } vector<vector<int> > subsetsWithDup(vector<int> &S) { sort(S.begin(), S.end()); result.clear(); vector<int> temp; generate(S, temp, 0); vector<vector<int>> ret(result.begin(), result.end()); return ret; }};
0 0
- 【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】【python】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
- leetcode Subsets II problem
- [LeetCode]Subsets II
- [leetcode]Subsets II
- java类方法中使用内部类的参数问题
- .Net+SQL Server企业应用性能优化笔记—精确查找瓶颈
- Spring依赖注入方式
- 各种基金调用介绍
- 3节点rac基础上配置goldengate(单实例)
- [LeetCode] Subsets II
- 夏夜
- 根据字符串类名动态创建对象
- 每日一博
- springMVC
- 我啊我他额的啊个飞
- 扎克伯格的中文夜:想要成功就不能放弃
- Azure网站上的PHP — XDebug
- svn切换账号