Subsets,Subsets II
2015-12-06 22:22
274 查看
一.Subsets
Given a set of distinct integers, nums, return all possible subsets.
Note:
Elements in a subset must be in non-descending order.
The solution set must not contain duplicate subsets.
For example,
If nums =
二.SubsetsII
Given a collection of integers that might contain duplicates, nums, return all possible subsets.
Note:
Elements in a subset must be in non-descending order.
The solution set must not contain duplicate subsets.
For example,
If nums =
Given a set of distinct integers, nums, return all possible subsets.
Note:
Elements in a subset must be in non-descending order.
The solution set must not contain duplicate subsets.
For example,
If nums =
[1,2,3], a solution is:
[ [3], [1], [2], [1,2,3], [1,3], [2,3], [1,2], [] ]
class Solution { public: void dfs(vector<int>& nums ,int numsSize,int startPos,vector<vector<int>>& res,vector<int>& oneOfRes) { for(int i=startPos;i<numsSize;i++){ oneOfRes.push_back(nums[i]); res.push_back(oneOfRes); dfs(nums,numsSize,i+1,res,oneOfRes); oneOfRes.pop_back(); } } vector<vector<int>> subsets(vector<int>& nums) { sort(nums.begin(),nums.end()); vector<vector<int>> res; vector<int> oneOfRes; res.push_back(vector<int>()); int numsSize = nums.size(); dfs(nums,numsSize,0,res,oneOfRes); return res; } };
二.SubsetsII
Given a collection of integers that might contain duplicates, nums, return all possible subsets.
Note:
Elements in a subset must be in non-descending order.
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], [] ]
class Solution { public: void dfs(vector<int>& nums,int numsSize,int startPos,vector<vector<int>>& res,vector<int>& oneOfRes) { for(int i=startPos;i<numsSize;i++){ if(i>startPos && nums[i]==nums[i-1]){ continue; } oneOfRes.push_back(nums[i]); res.push_back(oneOfRes); dfs(nums,numsSize,i+1,res,oneOfRes); oneOfRes.pop_back(); } } vector<vector<int>> subsetsWithDup(vector<int>& nums) { sort(nums.begin(),nums.end()); vector<vector<int>> res; vector<int> oneOfRes; int numsSize = nums.size(); res.push_back(oneOfRes); dfs(nums,numsSize,0,res,oneOfRes); return res; } };
相关文章推荐
- hdoj 5533 Dancing Stars on Me 【数学题】
- ios UISearchDisplayController 实现 UITableView 搜索功能
- SpringMVC_上传图片
- IOS--文件存储
- sql内连接与外连接的用法
- java 泛型问题 关于警告XXX is a raw type
- window.open的兼容性问题
- 关于编程语言的思考——编译型和解释型
- 关于网站设计
- 25人赛跑问题-得出前三名
- 求字符串的最长无重复字符子串(C++)
- 黑马程序员——java基础之this与静态
- 关于缓存
- selenium python (十二)下拉框的处理
- [Hadoop]MapReduce编程---分布式grep的实现
- LeetCode Nim Game
- the remote system refused the connection.错误与ubuntu安装openssh-server 报依赖错误的解决过程
- Radar And Millimeter-Wave System Based On Photonic Technology
- h2database
- Android从源码分析一:Looper,Handler消息机制