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

78.子集--77.组合

78,子集

递归

class Solution(object):def subsets(self, nums):""":type nums: List[int]:rtype: List[List[int]]"""# 结果ans=[]# 临时结果dp_=[]def dfs(nums,index):if index==len(nums):# 保存结果co_dp=dp_[:]ans.append(co_dp)return # 终止条件# 不选:dfs(nums,index+1)# 选dp_.append(nums[index])dfs(nums,index+1)dp_.pop()dfs(nums,0)return ans

77.组合

递归  没有优化

class Solution(object):def combine(self, n, k):""":type n: int:type k: int:rtype: List[List[int]]"""# 结果ans=[]# 临时结果dp_=[]def dfs(index,k):if index==n+1:                # 保存结果# 加一个判断len(dp_==k)if len(dp_)==k:co_dp=dp_[:]ans.append(co_dp)return # 终止条件# 不选:dfs(index+1,k)# 选dp_.append(index)dfs(index+1,k)dp_.pop()dfs(1,k)return ans

优化后

class Solution(object):def combine(self, n, k):""":type n: int:type k: int:rtype: List[List[int]]"""# 结果ans=[]# 临时结果dp_=[]def dfs(index,k):# 提前判断终止if len(dp_)>k or len(dp_)+n-index+1<k:returnif index==n+1:                # 保存结果# 加一个判断len(dp_==k)# if len(dp_)==k:co_dp=dp_[:]ans.append(co_dp)return # 终止条件# 不选:dfs(index+1,k)# 选dp_.append(index)dfs(index+1,k)dp_.pop()dfs(1,k)return ans

http://www.lryc.cn/news/233413.html

相关文章:

  • 【C++】模版-初阶
  • 【JavaEE初阶】 TCP服务器与客户端的搭建
  • 23111710[含文档+PPT+源码等]计算机毕业设计基于SpringBoot的体育馆场地预约赛事管理系统的设计
  • 【论文解读】GPT Understands, Too
  • 组合式API_生命周期
  • WPF如何实现应用程序托盘
  • ERROR: column “xxxx.id“ must appear in the GROUP BY
  • 【C++ 学习 ㊲】- 五种特殊类的设计
  • 探索arkui(2)--- 布局(列表)--- 2(支持分组/实现响应滚动位置)
  • systemverilog:interface中端口方向理解
  • 【GUI】-- 08 JButton、JRadioButton、JCheckBox
  • 【postgresql】CentOS7 安装Pgweb
  • 基于python和定向爬虫的商品比价系统
  • 使用GPT-4训练数据微调GPT-3.5 RAG管道
  • 二十三种设计模式全面解析-深入解析模板方法模式的奇妙世界
  • 【Spring】加载properties文件
  • react中间件的理解
  • React函数组件状态Hook—useState《进阶-对象数组》
  • linux 网络 cat /proc/net/dev 查看测试网络丢包情况
  • 记录配置VS,使用opencv与Eigen
  • uart控制led与beep
  • Linux修改root密码
  • C/C++模板类模板与函数模板区别,以及用法详解
  • van-dialog弹窗异步关闭-校验表单
  • Dynamic Wallpaper 16.7中文版
  • ​如何使用ArcGIS Pro制作渐变河流效果
  • 《网络协议》06. HTTP 补充 · HTTPS · SSL/TLS
  • Python winreg将cmd/PowerShell(管理员)添加到右键菜单
  • redis运维(九)字符串(二)字符串过期时间
  • 【C++】多线程的学习笔记(3)——白话文版(bushi