【 每天学习一点算法 2026/03/19】子集

每天学习一点算法 2026/03/19

题目:子集

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

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

依然跟之前的题类似,还是看做一个树,每个节点的子节点有两种选择,选或者不选,然后递归遍历出所有的路径就行了

typescript 复制代码
function subsets(nums: number[]): number[][] {
  const resArr = []
  function hepler (surplus: number[], res: number[]) {
    if (surplus.length === 0) {
      // 数字选择完毕,保存结果,回归上层
      resArr.push(res)
      return
    }
    const currentNums = [...surplus] // 不改动当前层的 剩余数字数组
    const current = currentNums.shift() // 取出当前层选择的数字
    // 不选
    hepler(currentNums, [...res])
    // 选
    hepler(currentNums, [...res, current])
  }
  hepler(nums, [])
  return resArr
};

题目来源:力扣(LeetCode)

相关推荐
那年窗外下的雪.40 分钟前
AIDC 学习日志 第 04 天 BGP Underlay 基础与路由选择
服务器·学习·php
leisoo80971 小时前
财报数据怎么排雷本地化Python构建财务异常预警系统
人工智能·python·算法
蒸蒸yyyyzwd1 小时前
cpp选手备战后端学习笔记day6 秋招笔试题
笔记·学习
luj_17683 小时前
塔防牌:策略与卡牌的智慧碰撞
服务器·c语言·开发语言·经验分享·算法
weixin_446260853 小时前
AVA-Encoder:面向智能体原生视频表征学习框架
学习·音视频
吃好睡好便好4 小时前
说说口罩的佩戴
学习·生活·口罩
郝学胜-神的一滴4 小时前
干货版《算法导论》17:二叉树核心原理、遍历逻辑与高阶实操全解
数据结构·c++·python·算法·计算机·编程
爱编程的小新☆4 小时前
【LeetCode】从递归到 Flood Fill:5 道题吃透 DFS 的选择、回溯与标记
java·算法·leetcode·深度优先·回溯·flood fill
Water_Sunzhipeng4 小时前
2024牛客暑期多校训练营1
算法
hetao17338374 小时前
2026-08-09~08-14 hetao1733837 的刷题记录
c++·算法