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

JAVA练习329- 子集

题目概览

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

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

示例 1:

输入:nums = [1,2,3]输出:[[],[1],[2],[1,2],[3],[1,3],[2,3],[1,2,3]]

示例 2:

输入:nums = [0]输出:[[],[0]]

提示:

  • 1 <= nums.length <= 10
  • -10 <= nums[i] <= 10
  • nums中的所有元素互不相同

来源:78. 子集 - 力扣(LeetCode)

解题分析

方法:回溯

我们可以用一个集合 prefix 来存储前缀,令当前索引为 i,每一次递归我们可以遍历 [ i, n - 1 ] 的元素,此时 prefix 就为 [0, i-1],每次遍历我们将该元素加入 prefix,此时 prefix 就是一个子集,然后递归遍历 i + 1 的集合,递归遍历完成后,回溯 prefix,将下一个元素加入 prefix,继续重复操作,直到所有元素遍历完成,此时的过程中所有的 prefix 就是子集。

时间复杂度:O(nxn!)
空间复杂度:O(n)

class Solution { public List<List<Integer>> subsets(int[] nums) { List<List<Integer>> result = new ArrayList<>(); result.add(new ArrayList<>()); backTracking(nums.length, result, 0, nums, new ArrayList<>()); return result; } public void backTracking(int n, List<List<Integer>> result, int index, int[] nums, List<Integer> prefix) { if (index == n) { return; } for (int i = index; i < n; ++i) { prefix.add(nums[i]); backTracking(n, result, i + 1, nums, prefix); result.add(new ArrayList<>(prefix)); prefix.remove(prefix.size() - 1); } } }
http://www.jsqmd.com/news/1249317/

相关文章:

  • [最新版]PowerPoint纯vba实现流畅逐帧动画(无任何辅助)
  • 学编程用拼音命名,挺好的
  • 「实战应用」如何用DHTMLX Gantt构建类似JIRA式的项目路线图(四)
  • 名包回收2026邯郸指南 毓典寄卖行本地奢侈品回收实体店铺 - 毓典寄卖行
  • 一套系统服务多组织怎么选:集团、连锁、SaaS 创业的多租户方案对比(2026)
  • 2026 翡翠店铺推荐全攻略:避坑 + 实测榜单,瑞丽市论邦珠宝店为何稳居榜首? - 互联网科技品牌测评
  • AtCoder Beginner Contest 466
  • OpenWrt 软路由解析公网IPV6域名访问家庭NAS的问题答疑
  • 麒麟信安服务器操作系统V3.5.2重磅发布!
  • 2026国内技术转移硕士MTT项目全盘点-交大领衔综合对比与选型指南
  • 2026年河北玻璃钢管道厂家挑选攻略 烁歌环保等企业实力梳理 - 八方八方
  • 「Qt Widget中文示例指南」如何实现文档查看器?(二)
  • 飞书AI流程不再“伪智能”:如何用Rule Engine+LLM Prompt链实现真正条件驱动(附可审计日志模板)
  • 白城奢侈品回收哪家好?亿兔奢品专业服务全解析 - 你就像风一样
  • 10支海外采购团驻场,2027北京算力展全球商贸对接升级
  • 「实战应用」如何使用图表控件LightningChart创建数据采集系统?(一)
  • 2026AI写歌APP推荐 国产AI作曲工具实测对比
  • 无锡名包回收也有“潜规则”?一份内部鉴定扣分标准流出 - 一日一测评
  • 深入解析Tiva™微控制器复位机制:从原理到实战的嵌入式系统稳定性设计
  • 重庆回收黄金小知识,黄金纯度决定回收价格 - 每日生活报
  • ubantu 24,使用sealos v5.1.1 安装 k8s v1.33.6
  • 2026军队文职备考干货|零基础上岸攻略,小白直接抄作业
  • 2026年长春机构挑选攻略 吉林良智事务所等优质机构实测梳理 - 八方八方
  • 苏州黄金回收和以旧换新哪个更划算? - 生活时报
  • 2026 河北碳酸锂回收行业深度梳理:合规锂原料回收厂家权威盘点 - 八方八方
  • Keil C51工程转VSCode Keil Assistant开发全过程
  • 如何公网远程访问OpenWRT软路由web界面
  • ArcMap AddIN之 word报告插件 动态报告
  • 基于Spring Boot的应届毕业生实习就业系统的设计(毕设-完整源码+论文)
  • 手表回收价格由什么决定?5 大定价因素一次性讲明白 - 讯息早知道