题解 | #换钱的最少货币数#

换钱的最少货币数

http://www.nowcoder.com/practice/4e05294fc5aa4d4fa8eacef2e606e5a8

l, target = map(int, input().split())
cash = list(map(int, input().split()))
dp = [float("inf")] * (target + 1)
dp[0] = 0
for i in range(1, target + 1):
    temp = []
    for j in range(l):
        if i - cash[j] < 0:
            continue
        dp[i] = min(dp[i], dp[i - cash[j]] + 1)
if dp[-1] == float("inf"):
    print(-1)
else:
    print(dp[-1])
        
全部评论

相关推荐

淬月星辉:专利是什么?至少描述一下吧,然后把什么计算机二级、普通话这种拉低格调的证书删掉,不然hr以为你没东西写
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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