当前位置: 首页 > 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]=0
        for 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 -1
        return dp[amount]

279.完全平方数

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

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

代码随想录

class Solution:
    def numSquares(self, n: int) -> int:
        dp=[float('inf')]*(n+1)
        dp[0]=0
        for 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]=True
        for 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)]

相关文章:

  • Exchange Server 2019 CU3升级到Exchange Server 2019 CU14
  • C#学习之DataGridView控件
  • 华为云deepseek大模型平台:deepseek满血版
  • Vision Transformer图像分类实现
  • 在HBase中,LSM树是如何工作的
  • 深入解析 iText 7:从 PDF 文档中提取文本和图像
  • Windows 启动 SSH 服务报错 1067
  • @Async java异步实现
  • 【Go语言快速上手】第二部分:Go语言进阶之数据库操作
  • Zookeeper(58)如何在Zookeeper中实现分布式锁?
  • Zookeeper 和 Redis 哪种更好?
  • Mysql各操作系统安装全详情
  • Maven——Maven开发经验总结(1)
  • 常用的 React Hooks 的介绍和示例
  • 【信息系统项目管理师】第24章:法律法规与标准规范 详解
  • AIGC学习笔记—minimind详解+训练+推理
  • MySQL面试考点汇总
  • Vue 实现通过URL浏览器本地下载 PDF 和 图片
  • Python学习心得常用的内置函数
  • 计算机视觉算法实战——图像合成(主页有源码)
  • 新华每日电讯:给“男性妇科病论文”开一剂复方药
  • 《2025城市青年旅行消费报告》发布,解码青年出行特征
  • “20后”比“60后”更容易遭遇极端气候事件
  • 美国与胡塞武装达成停火协议,美伊相向而行?
  • 首家股份行旗下AIC来了,兴银金融资产投资有限公司获批筹建
  • 现场|万里云端,遇见上博