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

【leetcode】78. 子集

子集

    • 题目
    • 题解
      • 1. 迭代
      • 2. 双重循环
      • 3. 递归
      • 4. 回溯

题目

78. 子集

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

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

示例 1:

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

示例 2:

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

题解

1. 迭代

思路:将子集不断添加到result

class Solution(object):def subsets(self, nums):""":type nums: List[int]:rtype: List[List[int]]"""# 迭代result = [[]]for num in nums:result = result + [[num] + res for res in result]return result

2. 双重循环

思路:与1类似,更好理解

class Solution(object):def subsets(self, nums):""":type nums: List[int]:rtype: List[List[int]]"""# 迭代res = [[]]for i in range(len(nums)):for j in range(len(res)):res.append(res[j]+[nums[i]])return res

3. 递归

class Solution(object):def subsets(self, nums):""":type nums: List[int]:rtype: List[List[int]]"""# 递归ans = []path = []n = len(nums)def dfs(i):if i == n:ans.append(path[:])return dfs(i + 1)path.append(nums[i])dfs(i + 1)path.pop()dfs(0)return ans

4. 回溯

class Solution(object):def subsets(self, nums):""":type nums: List[int]:rtype: List[List[int]]"""# 回溯算法path = []ans = []n = len(nums)def dfs(nums, i):ans.append(path[:])if i == n:return for j in range(i, n):path.append(nums[j])dfs(nums, j + 1)path.pop()dfs(nums, 0)return ans

相关文章:

  • 湖北理元理律师事务所债务规划方法论:法律框架下的可持续还款体系
  • 义乌购商品详情接口开发指南
  • 详解Java的启动参数-Dfile.encoding、System.getProperty(“file.encoding“)、该参数影响哪些行为
  • Atcoder Beginner Contest 410 题解报告
  • 生产者消费者消息流转和基本实操
  • Golang 在 Linux 平台上的并发控制
  • Vue3 + TypeScript + Element Plus 表格实例null检查方法
  • 18.vue.js的scoped样式隔离?原理和使用?(1)
  • c++总结-05-模板与泛型编程
  • 大IPD之——学习华为市场洞察,为战略找到方向(四)
  • 层压板选择、信号完整性和其他权衡
  • 日常开发工作流程梳理
  • 16 celery集成其他工具
  • 【论文解读】AgentThink:让VLM在自动驾驶中学会思考与使用工具
  • 【Python 爬虫 防盗链】
  • Java大模型开发入门 (12/15):Agent实战 - 打造能调用外部API的智能助手
  • STM32F4通用定时器TIM9-TIM14讲解及PWM呼吸灯实例解读
  • LeetCode - LCR 173. 点名
  • Magentic-ui项目相关整理
  • 如何自动化测试 DependencyMatcher 规则效果(CI/CD 集成最佳实践)
  • 网站推广营销联系方式/深圳百度推广公司
  • 用家里的电脑做网站服务器/软文客
  • 网站建设石家庄/优化服务是什么意思
  • 便利的广州微网站建设/福州seo博客
  • 滨海专业做网站/企业短视频推广
  • java做网站用的是什么/软文范例大全