78. Subset
2016-09-01 21:16
106 查看
深搜
方法2:
位操作
000 -》[]
001 -》[1]
010 -》[2]
.
.
.
111 -》[1,2,3]
class Solution {
public:
vector<vector<int>> subsets(vector<int>& nums) {
vector<vector<int>> res;
int n=nums.size();
int i,j;
for(i=0;i<(1<<n);i++)
{
vector<int> ans;
for(j=0;j<n;j++)
{
if(i&(1<<j))
ans.push_back(nums[j]);
}
res.push_back(ans);
}
return res;
}
};
class Solution { public: void subsets(vector<int>& nums,int sta,vector<vector<int>>& res,vector<int> ans) { if(sta>=nums.size()) { res.push_back(ans); return; } subsets(nums,sta+1,res,ans); ans.push_back(nums[sta]); subsets(nums,sta+1,res,ans); } vector<vector<int>> subsets(vector<int>& nums) { vector<vector<int>> res; vector<int> ans; subsets(nums,0,res,ans); return res; } };
方法2:
位操作
000 -》[]
001 -》[1]
010 -》[2]
.
.
.
111 -》[1,2,3]
class Solution {
public:
vector<vector<int>> subsets(vector<int>& nums) {
vector<vector<int>> res;
int n=nums.size();
int i,j;
for(i=0;i<(1<<n);i++)
{
vector<int> ans;
for(j=0;j<n;j++)
{
if(i&(1<<j))
ans.push_back(nums[j]);
}
res.push_back(ans);
}
return res;
}
};
相关文章推荐
- ASP.NET最常用的页面生命周期事件
- HDU 5451 Best Solver(数学)
- ASP.NET最常用的页面生命周期事件
- HDU 2243
- gitlab 安装
- js加入购物车抛物线动画
- Junit 测试方法排序
- Linux下修改Cache过大问题
- 你真的了解一段Java程序的生命史吗
- Cocos2d-x的设计模式
- android中IO流的小总结上
- JavaScript 类型 及 类型转换
- huffman编码实现
- PHP代码,拒绝频繁访问
- 【MySQL 09】常用函数
- PHP代码,拒绝频繁访问
- 堆排序(HEAPSORT)
- js写全选按钮、全不选按钮、反选按钮、全选全不选复选框代码
- java面试题
- C#的第7课内容