当前位置: 首页 > news >正文

力扣-78.子集

给你一个整数数组 nums ,数组中的元素 互不相同 。返回该数组所有可能的子集(幂集)。

解集 不能 包含重复的子集。你可以按 任意顺序 返回解集。

class Solution {List<List<Integer>> res = new ArrayList<>();List<Integer> path = new ArrayList<>();void backtracking(int[] nums, int startIndex){res.add(new ArrayList<>(path));for (int i = startIndex; i < nums.length; i++) {path.add(nums[i]);backtracking(nums,i+1);path.remove(path.size()-1);}}public List<List<Integer>> subsets(int[] nums) {backtracking(nums, 0);return res;}
}

小结:又是一道回溯的经典题目,回溯过程如下:

初始调用:backtracking(nums, 0)
│ 
├─ i=0 → path=[1] → 递归 backtracking(nums,1)
│  ├─ i=1 → path=[1,2] → 递归 backtracking(nums,2)
│  │  └─ i=2 → path=[1,2,3] → 递归 backtracking(nums,3) → 终止 
│  └─ i=2 → path=[1,3] → 递归 backtracking(nums,3) → 终止 
│ 
├─ i=1 → path=[2] → 递归 backtracking(nums,2)
│  └─ i=2 → path=[2,3] → 递归 backtracking(nums,3) → 终止 
│ 
└─ i=2 → path=[3] → 递归 backtracking(nums,3) → 终止 

相关文章:

  • [CSS3]属性增强1
  • STM32CubeMX使用SG90舵机角度0-180°
  • TIP-2021《SRGAT: Single Image Super-Resolution With Graph Attention Network》
  • 逻辑复制环境删除订阅报错 replication slot does not exist
  • 记录一次vue项目页面内嵌iframe页面实现跨域上传和下载附件的功能
  • 如何为直播平台集成美颜SDK?美颜与美型功能的开发指南
  • 二叉树子树判断:从递归到迭代的全方位解析
  • 向量和矩阵范数
  • 对置式光电传感器市场报告:预计2031年全球市场销售额将攀升至 5.68 亿美元
  • querySelectorAll 和 getElementByClassName 的区别是啥
  • 数据预处理-数据清洗(缺失值、重复值、异常值)
  • MySQL——十一、主从复制
  • Unity 批量将图片从默认类型改为Sprite类型
  • 【Linux网络】详解应用层http协议
  • 基于大数据的租房信息可视化系统的设计与实现【源码+文档+部署】
  • 深度学习中的归一化:提升模型性能的关键因素
  • 城市综合管廊监测与维护一体化解决方案
  • C++运算符重载练习
  • 【python编程从入门到到实践】第十章 文件和异常
  • 遥感图像非法采矿矿区识别分割数据集labelme格式1818张3类别
  • 盐城经济技术开发区党工委书记王旭东接受纪律审查和监察调查
  • 国寿资产获批参与第三批保险资金长期投资改革试点
  • 贝壳一季度收入增长42%:二手房市场活跃度维持在高位
  • 俄代表团:16日上午将继续“等候乌代表团”
  • 车建兴被留置:跌落的前常州首富和红星系重整迷路
  • 中国人民银行等四部门联合召开科技金融工作交流推进会