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

力扣-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) → 终止 
http://www.xdnf.cn/news/6772.html

相关文章:

  • 常见激活函数——作用、意义、特点及实现
  • 生产级JVM参数优化
  • UL 1973:2022标准深度解析
  • eBPF及相关工具和技术介绍
  • p40上编译vllm0.8.6
  • Seata源码—4.全局事务拦截与开启事务处理二
  • Cacti 未经身份验证SQL注入漏洞
  • ECMAScript标准:JavaScript的核心
  • 基于VITA57.4标准的4路2G/2.6G/3G 14位AD采集子卡
  • QBasic 一款古老的编程语言在现代学习中的价值(附程序)
  • 前端JSON序列化中的隐形杀手:精度丢失全解析与实战解决方案
  • 5.15离散化
  • vue2中父组件监听子组件的生命周期触发函数
  • muduo库Poller模块详解
  • linux使用pyenv安装python环境
  • windows服务器下自启动后台运行python脚本
  • 从微积分到集合论(1630-1910)(历史简介)——第1章——积分技巧(1630-1660)(Kirsti Møller Pedersen)
  • 一款强大的压测带宽工具-iperf3
  • FC7300 WDG MCAL 配置引导
  • 路桥塌陷感知监测预警系统解决方案
  • 服务图层自定义参数customParameters使用(Arcgis API for js)
  • 命令拼接符
  • MySQL锁机制详解与加锁流程全解析
  • sychronized原理(嚼碎了喂版)
  • 代码随想录算法训练营第三十八天打卡
  • 数据预处理-数据清洗(缺失值、重复值、异常值)
  • AUTOSAR图解==>AUTOSAR_SWS_ICUDriver
  • 龙虎榜——20250516
  • WHAT - SSR vs SSG vs ISR
  • STL学习