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

力扣刷题Day 61:子集(78)

1.题目描述

2.思路

方法1:直接用Python内置函数itertools.combinations()。

方法2:回溯,参考了powcai佬的题解,nums = [1, 2, 3]的情况分析见下图。

方法3: 迭代,参考了powcai佬的题解 ,依次将新的元素添加到前面的结果列表里。

3.代码(Python3)

方法1:

class Solution:def subsets(self, nums: List[int]) -> List[List[int]]:res = [[]]for i in range(0, len(nums)):res.extend(itertools.combinations(nums, i + 1))return res

方法2:

class Solution:def subsets(self, nums: List[int]) -> List[List[int]]:def helper(i, tmp):res.append(tmp)for j in range(i, len(nums)):helper(j + 1, tmp + [nums[j]])res = []helper(0, [])return res

方法3:

class Solution:def subsets(self, nums: List[int]) -> List[List[int]]:res = [[]]for num in nums:res += [[num] + res_i for res_i in res]return res

4.执行情况

方法1:

方法2:

方法3:

5.感想

终于搞清楚递归和回溯到底有什么区别了。我好难自己写出递归算法,脑子像糨糊一样想不清楚。

http://www.xdnf.cn/news/702505.html

相关文章:

  • 【案例94】笛卡尔积导致报“临时表空间不足”
  • bat 批处理通过拖拽,来获取拖入文件的信息
  • 【25-cv-00656】Whitewood律所代理Olga Drozdova 蝴蝶版权图维权案
  • 【Web应用】若依框架:基础篇07功能详解-定时任务
  • 不同坐标系下的 面积微元
  • Android-Room + WorkManager学习总结
  • 2G Nand Jlink烧录报错Failed to allocated 0x1B000000 bytes of memory!
  • 5G 核心网中 NRF 网元的功能、接口及参数详解
  • 8.7 使用 EAP-AKA 进行订阅转移
  • 星图云交通综合应用解决方案:破解交通基建抢建拖建、工程量大等难题,赋能智慧交通
  • 2025年5月AI科技领域周报(5.19-5.25):大模型多模态突破 具身智能开启机器人新纪元
  • DockThor: 免费的在线小分子“虚拟筛选”平台
  • 即插即用!全新记忆回溯策略:一种元启发式算法的进化更新机制,含完整免费MATLAB代码
  • 数字化时代,健康管理系统如何改变健康管理?
  • 数据库与缓存数据不一致的解决方法
  • 动态规划题解——爬楼梯(力扣70 easy)
  • python几行命令实现快速打包apk
  • 卸载 Office PLUS
  • 贪心算法实战篇2
  • mimics导出图像 标注文件
  • 学习日记-day18-5.28
  • 央国企迁移国产数据库:数据迁移5步法与4项管理准则
  • GATED DELTA NETWORKS : IMPROVING MAMBA 2 WITH DELTA RULE
  • 【AI算法工程师面试指北】小球检测问题
  • 【Python-Day 19】函数的回响:深入理解 `return` 语句与返回值
  • 融智学视域下的多时空统一框架与信智序位法则
  • 基于CATIA参数化圆锥建模的自动化插件开发实践——NX建模之圆锥体命令的参考与移植(三)
  • 图神经网络在信息检索重排序中的应用:原理、架构与Python代码解析
  • ORB-SLAM2学习笔记:ORBextractor::operator()函数的逐行解析
  • 应用宝的NotificationManagerService_post_com.tencent.android.qqdownloader持锁现象