518-零钱兑换2

题目:给定不同面额的硬币和一个总金额。写出函数来计算可以凑成总金额的硬币组合数。假设每一种面额的硬币有无限个。 

def coins_change(coins,amount):
    dp = [0] * (amount+1)
    dp[0] = 1
    for j in range(len(coins)):
        for i in range(1,amount+1):
            if i>=coins[j]:
                dp[i] = dp[i] + dp[i-coins[j]]

    return dp[-1]

coins = [1,2,5]
amount = 5
print(coins_change(coins,amount))

  注:

此种硬币兑换问题,coins循环在外,由于硬币无数多个。

posted @ 2019-08-30 09:19  尘世中一个迷途小书童  阅读(239)  评论(0编辑  收藏  举报