【LeetCode】78. Subsets (2 solutions)
2024-09-02 04:36:07
Subsets
Given a set of distinct integers, S, 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 S = [1,2,3]
, a solution is:
[
[3],
[1],
[2],
[1,2,3],
[1,3],
[2,3],
[1,2],
[]
]
解法一:
遍历S.size()位数的所有二进制数,1代表对应位置的元素在集合中,0代表不在。
一共2^n种情况。
详细步骤参照Subsets II
class Solution {
public:
vector<vector<int> > subsets(vector<int> &S) {
vector<vector<int> > result;
int size = S.size();
for(int i = ; i < pow(2.0, size); i ++)
{//2^size subsets
vector<int> cur;
int tag = i;
for(int j = size-; j >= ; j --)
{//for each subset, the binary presentation has size digits
if(tag% == )
cur.push_back(S[j]);
tag >>= ;
if(!tag)
break;
}
sort(cur.begin(), cur.end());
result.push_back(cur);
}
return result;
}
};
解法二:
遍历所有元素,记当前元素为S[i]
遍历当前所有获得的子集,记为ret[j]
将S[i]加入ret[j],即构成了一个新子集。
详细步骤参照Subsets II
class Solution {
public:
vector<vector<int> > subsets(vector<int> &S) {
sort(S.begin(), S.end());
vector<vector<int> > ret;
vector<int> empty;
ret.push_back(empty);
for(int i = ; i < S.size(); i ++)
{
int size = ret.size();
for(int j = ; j < size; j ++)
{
vector<int> newset = ret[j];
newset.push_back(S[i]);
ret.push_back(newset);
}
}
return ret;
}
};
最新文章
- Page-encoding specified in XML prolog (UTF-8) is different from that specified in page directive (utf-8)
- PHP 知识点链接
- MapReduce输入格式
- TI CC254x BLE教程 3
- share point 读取 metadata
- ListView与GridView异步加载图片
- LinearLayout和RelativeLayout
- HDU2594 Simpsons’ Hidden Talents 字符串哈希
- jFinal中报对应模型不存在的错误(The Table mapping of model: demo.User not exists)
- node.js 1Million concurrent connections!
- POJ 1936 All in All(模拟)
- VS2012中启动性能分析 独占样本数的分析
- USART笔记 基于STM32F107VCT6
- BootStrap 智能表单系列 首页 (持续更新中...)
- webstorm中关于vue的一些问题
- NodeJS 中npm包管理工具
- angular学习笔记 父子组件传值
- 错误: H.264 bitstream malformed, no startcode found,
- git更新Activemq在远程github上指定版本的源码步骤
- hearbeat of RAC
热门文章
- DotNet.Utilities工具类
- java项目怎样添加jar包依赖?
- win10怎么彻底关闭自动更新
- Eclipse maven构建springmvc项目
- Memcached源码分析——连接状态变化分析(drive_machine)
- Silverlight:《Pro Silverlight5》读书笔记 之 Layout
- combogrid 摘要
- easyui datagrid checkbox multiple columns have been done do
- U盘安装Centos7.0图解
- Linux C 网络编程 - 获取本地 ip 地址,mac,通过域名获取对应的 ip