当前位置:网站首页>LeetCode 78:子集
LeetCode 78:子集
2022-07-06 06:55:00 【斯沃福德】
链接
题目:
思路:回溯(无重复元素不可复选)
回溯框架:
此题是形式一: 无重复元素不可复选,写回溯算法的时候,for就要从start开始,而不是从0开始! 即(2,1)和(1,2)是一个结果,故不能复选。
用start来保证每次递归时遍历数组后面未遍历到的数,而不会重复遍历前面的数
最后strat超过数组个数即为终止条件!
注意:
子集问题中,每个节点都是子集 !
需要在递归的【前序位置】将path添加到res !而不是到叶子节点才添加到res !
空集 [ ] 也算子集
Java实现:
class Solution {
List<List<Integer>> res=new LinkedList<>();
LinkedList<Integer> path=new LinkedList<>();
public List<List<Integer>> subsets(int[] nums) {
if(nums==null){
return new List<List<Integer>>;
}
dfs(nums,0);
return res;
}
void dfs(int[] nums,int start){
//用start来保证每次递归时遍历数组后面的数,而不会重复遍历前面的数,
//最后strat超过数组个数即为终止条件!
// 空集[]也算子集
res.add(new LinkedList(path)); // 每个节点都是子集 !而不是到叶子节点才添加到res !
for(int i=start;i<nums.length;i++){
//递归前选择
path.add(nums[i]);
//递归,i+1确保数组中元素不被重复使用
dfs(nums,i+1);
//递归后撤销
path.removeLast();
}
}
}
边栏推荐
- AI on the cloud makes earth science research easier
- 【每日一题】729. 我的日程安排表 I
- [unity] how to export FBX in untiy
- Visitor tweets about how you can layout the metauniverse
- GET 和 POST 请求类型的区别
- 【软件测试进阶第1步】自动化测试基础知识
- 这个高颜值的开源第三方网易云音乐播放器你值得拥有
- Blue Bridge Cup zero Foundation National Championship - day 20
- Leetcode daily question (971. flip binary tree to match preorder traversal)
- LeetCode每日一题(1870. Minimum Speed to Arrive on Time)
猜你喜欢
[unity] how to export FBX in untiy
26岁从财务转行软件测试,4年沉淀我已经是25k的测开工程师...
Windows Server 2016 standard installing Oracle
Huawei equipment configuration ospf-bgp linkage
Classification des verbes reconstruits grammaticalement - - English Rabbit Learning notes (2)
万丈高楼平地起,每个API皆根基
LeetCode每日一题(971. Flip Binary Tree To Match Preorder Traversal)
Bitcoinwin (BCW): the lending platform Celsius conceals losses of 35000 eth or insolvency
Apache DolphinScheduler源码分析(超详细)
After sharing the clone remote project, NPM install reports an error - CB () never called! This is an error with npm itself.
随机推荐
这个高颜值的开源第三方网易云音乐播放器你值得拥有
Cif10 actual combat (resnet18)
Short video, more and more boring?
UNIPRO Gantt chart "first experience": multi scene exploration behind attention to details
How to reconstruct the class explosion caused by m*n strategies?
UniPro甘特图“初体验”:关注细节背后的多场景探索
软件测试外包到底要不要去?三年真实外包感受告诉你
Leetcode daily question (971. flip binary tree to match preorder traversal)
成功解决TypeError: data type ‘category‘ not understood
Leetcode - 152 product maximum subarray
pymongo获取一列数据
医疗软件检测机构怎么找,一航软件测评是专家
SSO process analysis
The difference between get and post request types
自动化测试环境配置
GET 和 POST 请求类型的区别
Market segmentation of supermarket customers based on purchase behavior data (RFM model)
Arduino tutorial - Simon games
开源的网易云音乐API项目都是怎么实现的?
【服务器数据恢复】IBM服务器raid5两块硬盘离线数据恢复案例