Python | Leetcode Python题解之第518题零钱兑换II
题目:
题解:
class Solution:def change(self, amount: int, coins: List[int]) -> int:dp = [0]*(amount+1) # 初始化dp[0] = 1 # 合法的初始化:凑出金额0的组合只有一种,即不选任何硬币# 完全背包:优化后的状态转移for coin in coins: # 第一层循环:遍历硬币for j in range(coin, amount+1): # 第二层循环:遍历背包【正序】dp[j] += dp[j-coin]return dp[amount]