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相关推荐

  1. 【暴力枚举】LeetCode 90. Subsets II

    LeetCode 90. Subsets II solution1和2均是利用set的,3和4是不利用set的 Solution1:我的答案 迭代法 class Solution { public:v ...

  2. 90 Subsets II

    90 Subsets II leetcode第90题,用深度优先搜索的思路写出了三种不同的代码.一道题目,同样是深度优先搜索的问题,因为看问题角度不同,思路不同,代码也不一样 /*** [1,2,2, ...

  3. 90. Subsets II 1

    题目: Given a collection of integers that might contain duplicates, nums, return all possible subsets. ...

  4. 90. Subsets II

    Given a collection of integers that might contain duplicates, nums, return all possible subsets (the ...

  5. LeetCode 90.子集 II 中等难度

    90. 子集 II 题目: 给定一个可能包含重复元素的整数数组 nums,返回该数组所有可能的子集(幂集). 说明:解集不能包含重复的子集. 示例:输入: [1,2,2] 输出: [[2],[1],[ ...

  6. LeetCode 90. 子集 II【数组,回溯算法,排序去重】

    90. 子集 II 给你一个整数数组 nums ,其中可能包含重复元素,请你返回该数组所有可能的子集(幂集). 解集 不能 包含重复的子集.返回的解集中,子集可以按 任意顺序 排列. 示例 1: 输入 ...

  7. [Leetcode]@python 90. Subsets II.py

    题目链接 https://leetcode.com/problems/subsets-ii/ 题目原文 Given a collection of integers that might contai ...

  8. leetcode 90. 子集 II 思考分析

    与本题相关联的题目解析: leetcode 78. 子集 思考分析 leetcode 40. 组合总和 II思考分析 题目 给定一个可能包含重复元素的整数数组 nums,返回该数组所有可能的子集(幂集 ...

  9. LeetCode 90. 子集 II(回溯+剪枝)

    文章目录 1. 题目信息 2. 解题 2.1 循环 2.2 回溯 1. 题目信息 给定一个可能包含重复元素的整数数组 nums,返回该数组所有可能的子集(幂集). 说明:解集不能包含重复的子集. 示例 ...

最新文章

  1. 2020互联网大厂薪资出炉!来源OfferShow爆料整理
  2. Nuke编辑工具包新版 Cara VR 插件发布
  3. java 网络(socket)
  4. PAT甲级1092 To Buy or Not to Buy :[C++题解]哈希表
  5. 【深度学习】CNN图像分类:从LeNet5到EfficientNet
  6. windows下安装nginx (转载自:http://blog.163.com/njut_wangjian/blog/static/1657964252013327103716818/)
  7. php中可以实现分支,PHP中的分支及循环语句
  8. 推荐两款实用工具——hcache和SQLPad
  9. doubango的帧率太低,怎么解决?
  10. excel表格同一单元格里删除重复词
  11. CuraEngine和Cura配置(Ubuntu18.04环境)
  12. OpenTracing 详解
  13. 2013网易校园招聘笔试题
  14. 【数据可视化】数据可视化分类
  15. FPGADesigner《FPGA数字信号处理系列》目录与传送门
  16. html上传文件的实例
  17. 微信图灵机器人自动回复和微信加淘宝淘客推广
  18. Python小例子——利用递归绘制分形树
  19. mac苹果电脑 HbuilderX 格式化代码
  20. 多益网络 专业面试 2020 12 22

热门文章

  1. armv6, armv7, armv7s和i386
  2. NSUserDefaults使用
  3. Resharper F12下载dll源码
  4. EOS开发dApp前需要了解的五件事
  5. 面试题:在O(1)空间复杂度范围内对一个数组中前后连段有序数组进行归并排序...
  6. 记腾讯一面 | 掘金技术征文
  7. 在CentOs6.5安装jdk
  8. unity3d 中加入�视频
  9. [转]模拟芯片设计的四重境界
  10. 严重的“Access:7”供应链漏洞影响100多家厂商150多款联网设备等产品