第十五周:[leetCode] 90. Subsets II
来源:互联网 发布:皆川纯子 知乎 编辑:程序博客网 时间:2024/05/16 04:48
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], []]
解题思路:寻找数组中不重复的所有子集;可立即反应用深度搜索,通关条件判断除去重复项,dps基本框架为:
void dfs(&nums, start, sub, &res) { if(condition) return; else res.push_back(sub); for(int i = start; i < nums.size(); i++) { sub.push_back(nums[i]); dfs(nums, i + 1, sub, res); sub.pop_back(); } return;}
思考通过改变判断条件即可实现输出不重复子集:
void dfs(vector<int>& nums, int start, vector<int> sub, vector<vector<int>>& res){ res.push_back(sub); for(int i = start; i < nums.size(); i++){ if(i!=start && nums[i] == nums[i-1]) continue; sub.push_back(nums[i]); dfs(nums, i+1, sub, res); sub.pop_back(); } return;}vector<vector<int>> subsetsWithDup(vector<int>& nums) { vector<vector<int>> res; vector<int> sub; sort(nums.begin(), nums.end()); dfs(nums, 0, sub, res); return res;}
阅读全文
0 0
- 第十五周:[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
- 90. Subsets II LeetCode
- 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
- Xcode原生项目集成Unity导出的工程
- 不用加减乘除做加法(java版)
- reboot 关机时提示job is running for /etc/rc.d/rc.load Compatibility
- 运行docker容器
- python模块在windows下的几种安装方法
- 第十五周:[leetCode] 90. Subsets II
- ios之CocoaPods的使用
- 有哪些中国社会的现实有一部分学生还没意识到?
- 结婚大师告诉你:如何去打扮花童!
- php进行递归时出现Call to a member function 方法() on null的原因以及解决方案
- 2017广东高考作文题出炉:选择两三个关键词
- xargs: unmatched double quote; by default quotes are special to xargs unless you use the -0 option
- Gradle之依赖配置
- java后台跨服务器请求方法