汕头网站制作怎么做,设计网页的步骤是什么,做外贸的社交网站,wordpress 主题查询518. 零钱兑换 II
这道题其实就是一个完全背包问题#xff0c;关于背包问题的相关文章见#xff1a;
01背包问题 – 动态规划完全背包问题 class CoinChange:518. 零钱兑换 IIhttps://leetcode.cn/problems/coin-change-ii/def soluti…518. 零钱兑换 II
这道题其实就是一个完全背包问题关于背包问题的相关文章见
01背包问题 – 动态规划完全背包问题 class CoinChange:518. 零钱兑换 IIhttps://leetcode.cn/problems/coin-change-ii/def solution(self, amount: int, coins: List[int]) - int:n len(coins)# dp[i][j]: 若只使⽤前 i 个物品可以重复使⽤当背包容量为 j 时有 dp[i][j] 种⽅法可以装满背包。dp [[0 for _ in range(amount1)] for _ in range(n1)]# base casefor i in range(n 1):dp[i][0] 1for i in range(1, n1):for j in range(1, amount1):if j - coins[i-1] 0:dp[i][j] dp[i-1][j] dp[i-1][j-coins[i-1]]else:dp[i][j] dp[i - 1][j]return dp[n][amount]def solution2(self, amount: int, coins: List[int]) - int:空间压缩二维变一维:param amount::param coins::return:n len(coins)# dp[j]: 当背包容量为 j 时有 dp[j] 种⽅法可以装满背包。dp [0 for _ in range(amount 1)]# base casedp[0] 1for i in range(n):for j in range(1, amount 1):if j - coins[i] 0:dp[j] dp[j] dp[j - coins[i]]return dp[amount]