算法 第45天 动态规划7

server/2024/10/21 5:54:07/

322 零钱对兑换

给你一个整数数组 coins ,表示不同面额的硬币;以及一个整数 amount ,表示总金额。

计算并返回可以凑成总金额所需的 最少的硬币个数 。如果没有任何一种硬币组合能组成总金额,返回 -1 。

你可以认为每种硬币的数量是无限的。

# 先物品后背包
def coinChange(coins:'list[int]',amount:int)->int:dp=[float{'inf'}]*(amount+1)dp[0]=0for coin in coins:for i in range(coin,amount+1):if dp[i-coin]!=float('inf):dp[i]=min(dp[i-coin]+1,dp[i])if dp[amount]==float('inf'):return -1return dp[amount]# 先背包后物品
def coinChange(coins,amount):dp=[float{'inf'}]*(amount+1)dp[0]=0for i in range(1,amount+1):for j in range(len(coins)):if i-coins[j]>=0 and dp[i-coins[j]]!=float('inf')dp[i]=min(dp[i-coins[j]]+1,dp[i])if dp[amount]==float('inf'):return -1return dp[amount]

279


http://www.ppmy.cn/server/4020.html

相关文章

【Kotlin】从Java开发视角出发了解Kotlin

Kotlin是一种与Java兼容且运行在Java虚拟机上的静态类型编程语言。它在Java的基础上加入了许多新的特性和改进,使得编写代码更加简洁、安全和高效。作为一个Java程序员,学习Kotlin可以帮助你更好地应对现代软件开发的挑战,并提高代码质量和开…

element-ui组件封装技巧

element-ui组件封装技巧 1. 封装内外嵌套的组件 如breadcrumb和breadcrumb-item,这时需要把绑定到breadcrumb上的参数透传给子组件,于是可以 provide() {return {elBreadcrumb: this}; },子组件内: inject: [elBreadcrumb],访问的时候&am…

11篇 Es集群环境安装的步骤

搭建Elasticsearch(ES)集群环境是一个涉及多个步骤的过程,需要仔细规划和配置。以下是搭建ES集群的一般步骤和要点: 1. **规划集群规模和角色分配**: - 确定集群的规模,包括节点数量和预期的数据量。 …

OpenWrt One/AP-24.XY 开源路由器发布,OpenWRT与Banana Pi社区合作

OpenWrt One/AP-24.XY 开源路由器 2024 年,OpenWrt 项目将迎来20 周年!OpenWrt 开源社区官方通过推出社区自己的第一个完全上游支持的硬件设计来庆祝这一周年纪念日。并与联发科,Banana Pi开源社区紧密合作,共同完成硬件的设计与…

C++11 列表初始化、initializer_list、auto、decltype、array

🐶博主主页:ᰔᩚ. 一怀明月ꦿ ❤️‍🔥专栏系列:线性代数,C初学者入门训练,题解C,C的使用文章,「初学」C 🔥座右铭:“不要等到什么都没有了,才下…

第七章 案例一:分析ARP解析过程

1、实验环境 主机A和主机B连接到交换机,并与一台路由器互连,如图7.17所示,路由器充当网关。 图7.17 实验案例一示意图 2、需求描述 查看 ARP 相关信息,熟悉在PC 和 Cisco 设备上的常用命令,设置主机A和主机B为同一个网段网关设置为路由接…

220个常见的金融术语名词解释

标的(Underlying) 标的代表交易产品或交易工具所基于的单位证券。例如,IBM期权,该期权的标的即为IBM股权。 英文释义: Underlying refers to the security that is the base unit of a product or trading vehicle.…

C语言经典例题(22)

文章目录 1.简单计算器2.获得月份天数3.HTTP状态码4. 图像相似度5.有序序列插入一个数 1.简单计算器 题目描述: KK实现一个简单计算器,实现两个数的“加减乘除”运算,用户从键盘输入算式“操作数1运算符操作数2”,计算并输出表达…