leetcode518专题

代码随想录算法训练营第四十三天|LeetCode518 零钱兑换Ⅱ、LeetCode377 组合总和Ⅳ

01背包与完全背包: 01背包与完全背包最大的区别在于01背包物品每个只能取一次而完全背包每个物品可以取无数次,这也就导致了我们内层for循环中的不同。具体体现为:因为01背包每个物品仅用一次,所以我们将背包从大到小(倒序)遍历;而完全背包是可以多次添加那么需要将背包从小到大(正序)遍历。 题1: 指路:518. 零钱兑换 II - 力扣(LeetCode) 思路与代码: 凑金币,典型的

动态规划37(Leetcode518零钱兑换2)

1114-1 代码: class Solution {public int change(int amount, int[] coins) {int n = amount;int[] dp = new int[n+1];dp[0]=1; for(int coin:coins){for(int i=1;i<=n;i++){if(i-coin>=0){dp[i] += dp[i-co