8.2—暴力枚举法—Subsets II
来源:互联网 发布:激光洗眉机网络假货 编辑:程序博客网 时间:2024/05/29 10:22
描述
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. e 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],
[]
]
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. e 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],
[]
]
#include<iostream>#include<algorithm>#include<vector>using namespace std;bool comp(const vector<int> &a, const vector<int> &b){return a.size() < b.size();}vector<vector<int>> Subsets(vector<int> data){vector<vector<int>> result;if (data.size() <= 0)return result;int length = data.size();int num = pow(2, length);int num1 = pow(2, length - 1);sort(data.begin(), data.end());for (int i = 0; i < num; i++){vector<int> path;if (i == 0){result.push_back(path);continue;}for (int j = 0; j < length; j++){int temp = num1;temp = temp >>= j;if (i&temp){path.push_back(data[j]);}}result.push_back(path);}sort(result.begin(), result.end(), comp);auto it = unique(result.begin(), result.end());result.resize(distance(result.begin(), it));return result;}int main(){int a[3] = { 1, 2, 2 };vector<int> data(begin(a), end(a));vector<vector<int>> res = Subsets(data);for (int i = 0; i < res.size(); i++){if (res[i].size() == 0)cout << "[]";for (int j = 0; j < res[i].size(); j++)cout << res[i][j] << " ";cout << endl;}}
阅读全文
0 0
- 8.2—暴力枚举法—Subsets II
- leetcode:暴力枚举法之Subsets II
- 8.1—暴力枚举法—Subsets
- leetcode:暴力枚举法之Subsets
- 8.4—暴力枚举法—Permutations II
- LeetCode ——Subsets II
- Algorithms—90.Subsets II
- LeetCode-90-Subsets II 暴力dfs回溯
- 8.3—暴力枚举法—Permutations
- 8.5—暴力枚举法—Combinations
- 回溯法——subsets、subsets-ii数字数组的所有组合
- 8.2 Subsets II
- leetcode 090 —— Subsets II
- 算法系列——Subsets II
- leetcode_Permutations II _hard_暴力枚举法--回溯法
- LeetCode 之 Subsets(图和暴力枚举)
- 暴力法求解——简单枚举(除法)
- hdu——4462(暴力枚举)
- 8.1—暴力枚举法—Subsets
- unity如何调试dll库文件
- Android studio使用selector时出现Element selector must be declared的错误解决
- 信息系统设计师不同研发阶段的工作内容有哪些?
- fragment常用方式总结
- 8.2—暴力枚举法—Subsets II
- 微信小程序实现列表上拉加载,自动适应屏幕
- Kotlin 设计模式-策略
- asd
- 8.3—暴力枚举法—Permutations
- 8.4—暴力枚举法—Permutations II
- DirectX12笔记 初始化
- 系统设计师必备技能与工具有哪些?
- easyui复选框树动态加载后台数据,实现自动选中数据库中数据。后台语言是.NET