返回信息流背包
这是一条镜像帖。来源:北邮人论坛 / iwhisper / #7072241同步于 2024/4/18
该镜像源已超过 30 天没有更新,可能在源站已被删除。
IWhisper机器人发帖
请教佬们一道算法题
IWhisper#447
2024/4/18镜像同步10 回复
订阅后,新回复会通过你的通知中心匿名送达。
10 条回复
def countWaysToChange(coins, maxAmount):
n = len(coins)
# 初始化dp数组,长度为maxAmount + 1,所有元素初始化为0
dp = [0] * (maxAmount + 1)
# 至少有一种方法组成金额0,即不使用任何硬币
dp[0] = 1
# 对于每种面值的硬币
for coin in coins:
# 遍历到当前金额
for amount in range(coin, maxAmount + 1):
# 更新状态
dp[amount] += dp[amount - coin]
# dp数组的最后一个元素即为所求
return dp[maxAmount]
# 示例:给定面值的钞票和对应的数量
coins = [1, 2, 5] # 钞票面值
maxAmount = 5 # 最大金额
# 计算可以组成的金额数量
print(countWaysToChange(coins, maxAmount))
佬如果限定每种硬币数量的话怎么考虑呢
: n = len(coins)
: # 初始化dp数组,长度为maxAmount + 1,所有元素初始化为0
: ............