def coinChange(self, coins: List[int], amount: int) -> int:
df = [float('inf')]*(amount+1)
df[0] = 0
for coin in coins:
for n in range(coin,amount+1):
df[n] = min(df[n],df[n-coin]+1)
return df[amount] if df[amount] != float('inf') else -1
核心思想
心得
当初看了很多关于动态规划的解释,看得一头雾水,直到看到上面两个图已经代码, 就理解了。
原地址
https://leetcode-cn.com/problems/coin-change/