LeetCode 90. Subsets II
90. Subsets II
Given a collection of integers that might contain duplicates, nums, return all possible subsets.
Note: 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],
[]
]
题目大意:给一个集合nums,nums中可能含有重复元素,求nums的所有子集集合~集合中的元素不能重复~
分析:首先对nums进行排序,接着用位运算,j从0到maxn变化,每一次计算j移动i位后最后一位是否为1,如果为1就将nums[i]的值放入result[j]~为了保证不重复,将result的结果放入集合s中,然后将s中的结果再放入result数组中返回~
class Solution {
public:vector<vector<int>> subsetsWithDup(vector<int>& nums) {sort(nums.begin(), nums.end());int len = nums.size();int maxn = pow(2, len);vector<vector<int>> result(maxn);for (int i = 0; i < len; i++) {for (int j = 0; j < maxn; j++) {if ((j >> i) & 1)result[j].push_back(nums[i]);}}set<vector<int>> s;for (int i = 0; i < result.size(); i++)s.insert(result[i]);result.resize(0);for (auto it = s.begin(); it != s.end(); it++)result.push_back(*it);return result;}
};
LeetCode 90. Subsets II相关推荐
- 【暴力枚举】LeetCode 90. Subsets II
LeetCode 90. Subsets II solution1和2均是利用set的,3和4是不利用set的 Solution1:我的答案 迭代法 class Solution { public:v ...
- 90 Subsets II
90 Subsets II leetcode第90题,用深度优先搜索的思路写出了三种不同的代码.一道题目,同样是深度优先搜索的问题,因为看问题角度不同,思路不同,代码也不一样 /*** [1,2,2, ...
- 90. Subsets II 1
题目: Given a collection of integers that might contain duplicates, nums, return all possible subsets. ...
- 90. Subsets II
Given a collection of integers that might contain duplicates, nums, return all possible subsets (the ...
- LeetCode 90.子集 II 中等难度
90. 子集 II 题目: 给定一个可能包含重复元素的整数数组 nums,返回该数组所有可能的子集(幂集). 说明:解集不能包含重复的子集. 示例:输入: [1,2,2] 输出: [[2],[1],[ ...
- LeetCode 90. 子集 II【数组,回溯算法,排序去重】
90. 子集 II 给你一个整数数组 nums ,其中可能包含重复元素,请你返回该数组所有可能的子集(幂集). 解集 不能 包含重复的子集.返回的解集中,子集可以按 任意顺序 排列. 示例 1: 输入 ...
- [Leetcode]@python 90. Subsets II.py
题目链接 https://leetcode.com/problems/subsets-ii/ 题目原文 Given a collection of integers that might contai ...
- leetcode 90. 子集 II 思考分析
与本题相关联的题目解析: leetcode 78. 子集 思考分析 leetcode 40. 组合总和 II思考分析 题目 给定一个可能包含重复元素的整数数组 nums,返回该数组所有可能的子集(幂集 ...
- LeetCode 90. 子集 II(回溯+剪枝)
文章目录 1. 题目信息 2. 解题 2.1 循环 2.2 回溯 1. 题目信息 给定一个可能包含重复元素的整数数组 nums,返回该数组所有可能的子集(幂集). 说明:解集不能包含重复的子集. 示例 ...
最新文章
- 2020互联网大厂薪资出炉!来源OfferShow爆料整理
- Nuke编辑工具包新版 Cara VR 插件发布
- java 网络(socket)
- PAT甲级1092 To Buy or Not to Buy :[C++题解]哈希表
- 【深度学习】CNN图像分类:从LeNet5到EfficientNet
- windows下安装nginx (转载自:http://blog.163.com/njut_wangjian/blog/static/1657964252013327103716818/)
- php中可以实现分支,PHP中的分支及循环语句
- 推荐两款实用工具——hcache和SQLPad
- doubango的帧率太低,怎么解决?
- excel表格同一单元格里删除重复词
- CuraEngine和Cura配置(Ubuntu18.04环境)
- OpenTracing 详解
- 2013网易校园招聘笔试题
- 【数据可视化】数据可视化分类
- FPGADesigner《FPGA数字信号处理系列》目录与传送门
- html上传文件的实例
- 微信图灵机器人自动回复和微信加淘宝淘客推广
- Python小例子——利用递归绘制分形树
- mac苹果电脑 HbuilderX 格式化代码
- 多益网络 专业面试 2020 12 22
热门文章
- armv6, armv7, armv7s和i386
- NSUserDefaults使用
- Resharper F12下载dll源码
- EOS开发dApp前需要了解的五件事
- 面试题:在O(1)空间复杂度范围内对一个数组中前后连段有序数组进行归并排序...
- 记腾讯一面 | 掘金技术征文
- 在CentOs6.5安装jdk
- unity3d 中加入�视频
- [转]模拟芯片设计的四重境界
- 严重的“Access:7”供应链漏洞影响100多家厂商150多款联网设备等产品