题解 | 硬币凑钱

硬币凑钱

https://www.nowcoder.com/practice/a9228c3f450749a5bc8edd2f0e7b90e9

n = int(input())
coins = [1,5,7]#所有硬币的集合列表
INF = float('inf')#动态规划列表初始值位无穷大infinity
dp = [float(INF)]*(n+1)#动态规划数组列表
dp[0] = 0#想要找零0元,只有0种方式
for coin in coins:#遍历所有硬币
    for i in range(coin,n+1):
        dp[i] = min(dp[i],dp[i-coin]+1)#寻找找零i元,最少需要的硬币个数
print(dp[n])#输出找零n元的最小硬币数量

全部评论

相关推荐

不想上班的肱二头肌很...:简历一页,项目突出重点,自我评价可以删掉的
点赞 评论 收藏
分享
10-13 16:58
门头沟学院 Java
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务