博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
LeetCode-90-Subset II
阅读量:7026 次
发布时间:2019-06-28

本文共 1172 字,大约阅读时间需要 3 分钟。

算法描述:

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

Note: The solution set must not contain duplicate subsets.

Example:

Input: [1,2,2]Output:[  [2],  [1],  [1,2,2],  [2,2],  [1,2],  []]

解题思路:题目要求列出所有可能性,因此用回溯法求解。与前面题目不同,这个题目需要考虑重复元素问题。注意去重是与index开始比较而不是从零开始比较。

vector
> subsetsWithDup(vector
& nums) { sort(nums.begin(),nums.end()); vector
> results; vector
temp; backtracking(results, nums, temp, 0); return results; } void backtracking(vector
>& results, vector
nums, vector
& temp, int index){ if(temp.size() <= nums.size()){ results.push_back(temp); }else return; for(int i=index; i
index && nums[i] == nums[i-1]) continue; temp.push_back(nums[i]); backtracking(results, nums, temp, i+1); temp.pop_back(); } }

 

转载于:https://www.cnblogs.com/nobodywang/p/10346308.html

你可能感兴趣的文章
人生如牌
查看>>
Nodejs操作MongoDB数据库示例
查看>>
多了解一下Chrome开发者控制台
查看>>
加强BYOD安全措施 政府机构也不例外
查看>>
D3DFVF浅谈------ D3DFVF_XYZ 和 D3DFVF_XYZRHW 的区别
查看>>
利用OpenVSwitch构建多主机Docker网络
查看>>
云计算的五大进展:云操作系统是里程碑
查看>>
云存储的隐性成本
查看>>
数据中心安全管理的创新构想
查看>>
docker的下载安装和运行gitlab、rabbitmq的方式
查看>>
从算法原理,看推荐策略
查看>>
下一代磁盘加密:Bitlocker管理和监控
查看>>
Joyent 扩展了Triton 弹性容器基础设施,可在裸机上直接运行容器
查看>>
Bitmap获取图片内存溢出
查看>>
oracle初使用遇到的问题
查看>>
在MFC程序中添加全屏显示功能
查看>>
学习笔记TF060:图像语音结合,看图说话
查看>>
ffmpeg 中的GNU语法
查看>>
高精度三维空间测量、定位与追踪(下)
查看>>
《中国人工智能学会通讯》——6.33 和我们有什么关系吗 ?
查看>>