【LeetCode 90】子集 II
2024-10-07 14:21:21
【题解】
我们在枚举下一个要取哪个数字的时候。
如
1112233
for (int i = start;istart且num[i]==num[i-1].
那么我们就不应该再取这个num[i]了。
因为肯定在之前已经取过num[i-1]了。此时再取一个num[i]的话。所得到的方案肯定会和
11*****一样了
(其中i==start的话得到的是111****所以可以取)
【代码】
class Solution {
public:
vector<vector<int>> ans;
void dfs(vector<int> &v,int start,vector<int> &temp){
ans.push_back(temp);
for (int i = start;i<(int)v.size();i++){
if (i>start && v[i]==v[i-1]) continue;
temp.push_back(v[i]);
dfs(v,i+1,temp);
temp.pop_back();
}
}
vector<vector<int>> subsetsWithDup(vector<int> v){
sort(v.begin(),v.end());
ans.clear();
vector<int> t;t.clear();
dfs(v,0,t);
return ans;
}
};
最新文章
- 使用C#在CEF中拦截并响应请求
- C++之路进阶——codevs1789(最大获利)
- hibernate-取消关联外键引用数据丢失抛异常的设置@NotFound
- angularjs 实现 文件拖拽,缩略图显示
- Android应用与系统安全防御
- PHP——字符串统一转码为GBK,自动判断是否UTF8并转码
- sychronized面试问题浅析
- Android百度地图开发03之地图控制 + 定位
- HDU5649 DZY Loves Sorting 线段树
- js 中的流程控制—while和do while
- JAVA优化建议
- 排队时延(Queuing delay)
- 传统前端工程使用 Vue 等框架重构的思路
- springboot + mybatis
- 使用SharedPreference和对象流存储对象
- HDU 2013(递归)
- 服务器webapi集成极光推送学习笔记
- ios 百度地图,火星坐标,地球坐标互转
- JS-json-1
- [vue]vue双向绑定$on $emit sync-模态框