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

代码随想录算法训练营第19天

77. 组合

给定两个整数 n 和 k,返回范围 [1, n] 中所有可能的 k 个数的组合。

class Solution:def combine(self, n: int, k: int) -> List[List[int]]:path = []res = []def dfs(n,k,index):if len(path) ==k:res.append(path[:])returnfor i in range(index,n+1):path.append(i)dfs(n,k,i+1)path.pop()dfs(n,k,1)return res

216. 组合总和 III

找出所有相加之和为 n 的 k 个数的组合,且满足下列条件:

  • 只使用数字1到9
  • 每个数字 最多使用一次 
class Solution:def combinationSum3(self, k: int, n: int) -> List[List[int]]:path = []res = []def dfs(k,n,s,index):if len(path) ==k:if s == n:res.append(path[:])returnfor i in range(index,10):if s + i > n:breakpath.append(i)s += idfs(k,n,s,i+1)path.pop()s -=idfs(k,n,0,1)return res

17. 电话号码的字母组合

class Solution:def letterCombinations(self, digits: str) -> List[str]:hash = {'0':'','1':'','2':'abc','3':'def','4':'ghi','5':'jkl','6':'mno','7':'pqrs','8':'tuv','9':'wxyz'}path = ''res = []def dfs(digits,index,path):if index == len(digits):res.append(path[:])returns = hash[digits[index]]for i in range(len(s)):path += s[i]dfs(digits,index + 1,path)path = path[:-1]if len(digits)==0:return []dfs(digits,0,path)return res

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

相关文章:

  • 树莓派5 EEPROM引导加载程序恢复镜像
  • 循序渐进-讲解Markdown进阶(Mermaid绘图)-附使用案例
  • 寒假作业2月6号
  • ChatGPT绘图指南:DALL.E3玩法大全(一)
  • 计算机服务器中了_locked勒索病毒怎么办?Encrypted勒索病毒解密数据恢复
  • VueCLI核心知识3:全局事件总线、消息订阅与发布
  • Redis中缓存问题
  • 数码管扫描显示-单片机通用模板
  • IDEA中的神仙插件——Smart Input (自动切换输入法)
  • shell编程:求稀疏数组中元素的和(下标不连续)
  • Rust 学习笔记 - 详解数据类型
  • 构建本地yum源
  • 常用的正则表达式,收藏必备!!!
  • js---webAPI
  • git的常用命令有哪些?
  • 《动手学深度学习(PyTorch版)》笔记8.5
  • 【蓝桥杯单片机入门记录】LED灯(附多个例程)
  • c语言简单json库
  • Linux操作系统基础(七):Linux常见命令(二)
  • 进程状态
  • STM32固件库简介与使用指南
  • 【开源】SpringBoot框架开发智能教学资源库系统
  • 融资项目——获取树形结构的数据
  • Crypto-RSA2
  • IEEE Internet of Things Journal投稿经验
  • 实例分割论文阅读之:FCN:《Fully Convolutional Networks for Semantica Segmentation》
  • apk反编译修改教程系列---简单去除apk登陆 修改vip与一些反编译基础常识【十二】
  • 网络安全习题集
  • C++中的volatile:穿越编译器的屏障
  • (07)Hive——窗口函数详解