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

代码随想录算法训练营第四十三天| 动态规划06

322. 零钱兑换

如果求组合数就是外层for循环遍历物品,内层for遍历背包。

如果求排列数就是外层for遍历背包,内层for循环遍历物品。

这句话结合本题 大家要好好理解。

视频讲解:动态规划之完全背包,装满背包最少的物品件数是多少?| LeetCode:322.零钱兑换_哔哩哔哩_bilibili

代码随想录

class Solution:def coinChange(self, coins: List[int], amount: int) -> int:dp=[float('inf')]*(amount+1)dp[0]=0for coin in coins:for j in range(coin,amount+1):if dp[j-coin]!=float('inf'):dp[j]=min(dp[j-coin]+1,dp[j])if dp[amount]==float('inf'):return -1return dp[amount]

279.完全平方数

本题 和 322. 零钱兑换 基本是一样的,大家先自己尝试做一做

视频讲解:动态规划之完全背包,换汤不换药!| LeetCode:279.完全平方数_哔哩哔哩_bilibili

代码随想录

class Solution:def numSquares(self, n: int) -> int:dp=[float('inf')]*(n+1)dp[0]=0for i in range(1,int(n**0.5)+1):for j in range(i*i,n+1):dp[j]=min(dp[j],dp[j-i*i]+1)return dp[n]

139.单词拆分

视频讲解:动态规划之完全背包,你的背包如何装满?| LeetCode:139.单词拆分_哔哩哔哩_bilibili

代码随想录

class Solution:def wordBreak(self, s: str, wordDict: List[str]) -> bool:dp=[False]*(len(s)+1)dp[0]=Truefor j in range(1,len(s)+1):for word in wordDict:if j>=len(word):dp[j]=dp[j] or (dp[j-len(word)] and word==s[j-len(word):j])return dp[len(s)]
http://www.lryc.cn/news/539845.html

相关文章:

  • UI自动化教程 —— 元素定位技巧:精确找到你需要的页面元素
  • MySQL六大日志的功能介绍。
  • 二级指针略解【C语言】
  • 鸿蒙状态管理概述
  • 【核心算法篇十三】《DeepSeek自监督学习:图像补全预训练方案》
  • 由浅入深学习大语言模型RLHF(PPO强化学习- v1浅浅的)
  • 网络安全三件套
  • 瑞芯微RV1126部署YOLOv8全流程:环境搭建、pt-onnx-rknn模型转换、C++推理代码、错误解决、优化、交叉编译第三方库
  • 【ISO 14229-1:2023 UDS诊断(会话控制0x10服务)测试用例CAPL代码全解析⑤】
  • python-leetcode 35.二叉树的中序遍历
  • glob 用法技巧
  • CodeGPT 使用教程(适用于 VSCode)
  • 以下是MySQL中常见的增删改查语句
  • Vue3 与 TypeScript 实战:核心细节与最佳实践
  • 23种设计模式 - 解释器模式
  • 常用的 React Hooks 的介绍和示例
  • ChatGLM-6B模型
  • 编译安装php
  • 【JavaEE进阶】Spring MVC(3)
  • 30 款 Windows 和 Mac 下的复制粘贴软件对比
  • 【LLAMA】羊驼从LLAMA1到LLAMA3梳理
  • 【OS安装与使用】part3-ubuntu安装Nvidia显卡驱动+CUDA 12.4
  • 【蓝桥杯集训·每日一题2025】 AcWing 6123. 哞叫时间 python
  • JAVA中常用类型
  • 【办公类-90-02】】20250215大班周计划四类活动的写法(分散运动、户外游戏、个别化综合)(基础列表采用读取WORD表格单元格数据,非采用切片组合)
  • 求矩阵对角线元素的最大值
  • NoSQL之redis数据库
  • 【R语言】非参数检验
  • 【力扣Hot 100】栈
  • HTTP 与 HTTPS:协议详解与对比