leetcode——90——Subsets II
来源:互联网 发布:捷易通软件官方网站 编辑:程序博客网 时间:2024/05/16 19:46
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], []]
在Subsets基础上去掉重复元素
方法一:
在添加是去掉
class Solution {public: vector<vector<int>>res; vector<int>ans; vector<vector<int>> subsetsWithDup(vector<int>& nums) { if(nums.empty()) return res; sort(nums.begin(), nums.end()); dfs(0, ans, nums); return res; } void dfs(int k, vector<int>ans, vector<int> nums){ res.push_back(ans); for(int i = k; i < nums.size(); i++){ if(i > k && nums[i] == nums[i - 1]) continue; ans.push_back(nums[i]); dfs(i + 1, ans, nums); ans.pop_back(); } }};
方法二:
在结果中去掉
class Solution {public: vector<vector<int> > subsetsWithDup(vector<int> &S) { vector<vector<int> > result; map<vector<int>, bool> m; int size = S.size(); for(int i = 0; i < pow(2.0, size); i ++) { int tag = i; vector<int> cur; for(int j = size-1; j >= 0; j --) { if(!tag) break; if(tag%2 == 1) { cur.push_back(S[j]); } tag >>= 1; } sort(cur.begin(), cur.end()); if(m.find(cur) == m.end()) { m[cur] = true; result.push_back(cur); } } return result; }};
0 0
- LeetCode ——Subsets II
- leetcode 090 —— Subsets II
- leetcode——90——Subsets II
- [leetcode] Subsets——@
- LeetCode——Subsets
- Algorithms—90.Subsets II
- [leetcode 90] Subsets II
- [LeetCode 90]Subsets II
- leetcode || 90、Subsets II
- Leetcode #90 Subsets II
- LeetCode(90) Subsets II
- leetcode 90: Subsets II
- LeetCode 90:Subsets II
- ***LeetCode 90 Subsets ii
- 【leetcode】【90】Subsets II
- LeetCode 90 Subsets II
- leetcode 90 Subsets II
- leetcode(90):Subsets II
- mysql+C#实战五:引入变量并从程序中赋值
- c语言
- 线程的生命周期以及控制线程
- (Java实现) HDOJ 2024 && 2043 Character类方法的使用
- OnNewIntent的调用时机
- leetcode——90——Subsets II
- Android 加密 MD5和Base64简单介绍
- 第一次放生,感觉很奇妙
- 死锁
- 关于构造函数的两三事
- JZOJ.4301[NOIP2015模拟11.3]备用钥匙 解题报告
- Linux编程中如何避免出现僵尸进程
- Verilog中的timescale
- 完全二叉树和满二叉树的区别+完全二叉树求节点问题