完全背包:

如果求组合数: 外层for遍历循环物品,内层for遍历循环背包容量

如果求排列数: 外层for遍历循环背包容量, 内层for遍历循环物品

步骤一、确定状态:

确定dp数组及下标含义

这里的dp是大小为amount的一维数组, dp[i]表示的是装满容量为i的背包, 有多少种装法

步骤二、推断状态方程:

dp[j] += dp[j-coins[i]]

步骤三、规定初始条件:

初始条件:

全局初始化为0, dp[0]=1

步骤四、计算顺序:

对于物品, 依然是正向遍历,而对于背包,也是正向遍历,因为这里的物品 可以取多次

class Solution:def change(self, amount: int, coins: List[int]) -> int:if amount == 0:return 1dp = [0] * (amount + 1)dp[0] = 1for i in range(len(coins)): # 遍历物品for j in range(coins[i], amount+1): # 遍历背包容量dp[j] += dp[j-coins[i]]return dp[amount]

98. Leetcode 518. 零钱兑换 II (动态规划-完全背包)相关推荐

  1. leetcode:518. 零钱兑换 II

    518 零钱兑换 II 来源:力扣(LeetCode) 链接: https://leetcode.cn/problems/coin-change-2/ 给你一个整数数组 coins 表示不同面额的硬币 ...

  2. LeetCode 518. 零钱兑换 II(动态规划)

    1. 题目 给定不同面额的硬币和一个总金额. 写出函数来计算可以凑成总金额的硬币组合数. 假设每一种面额的硬币有无限个. 示例 1: 输入: amount = 5, coins = [1, 2, 5] ...

  3. leetcode 518. 零钱兑换 II

    难度:中等 频次:28 题目: 给你一个整数数组 coins 表示不同面额的硬币,另给一个整数 amount 表示总金额. 请你计算并返回可以凑成总金额的硬币组合数.如果任何硬币组合都无法凑出总金额, ...

  4. leetcode 518 零钱兑换II

    题目 给你一个整数数组 coins 表示不同面额的硬币,另给一个整数 amount 表示总金额. 请你计算并返回可以凑成总金额的硬币组合数.如果任何硬币组合都无法凑出总金额,返回 0 . 假设每一种面 ...

  5. 【必备算法】动态规划:LeetCode题(六)322. 零钱兑换,518. 零钱兑换 II

    322. 零钱兑换² 给定不同面额的硬币 coins 和一个总金额 amount.编写一个函数来计算可以凑成总金额所需的最少的硬币个数.如果没有任何一种硬币组合能组成总金额,返回 -1. 示例 1: ...

  6. 【leetcode题解——动态规划之完全背包】518.零钱兑换II(python版本详解+表格+dp五部曲)

    518. 零钱兑换 II 重点: 本题求组合数,而非排列数. 例如示例: 5 = 2 + 2 + 1 5 = 2 + 1 + 2 这是一种组合,都是 2 2 1,而(2,2,1)(2,1,2)为两种排 ...

  7. 代码随想录44——动态规划:完全背包理论基础、518零钱兑换II、377组合总和IV

    文章目录 1.完全背包理论基础 2.518零钱兑换II 2.1.题目 2.2.解答 3.377组合总和IV 3.1.题目 3.2.解答 4.组合和排列问题的便利顺序 4.1.组合问题 4.2.排列问题 ...

  8. 518. 零钱兑换 II golang动态规划

    518. 零钱兑换 II 给定不同面额的硬币和一个总金额.写出函数来计算可以凑成总金额的硬币组合数.假设每一种面额的硬币有无限个. 示例 1: 输入: amount = 5, coins = [1, ...

  9. java刷题--518零钱兑换II

    java刷题--518零钱兑换II 题目 代码 结果 题目 代码 class Solution {public int change(int amount, int[] coins) {int[] d ...

最新文章

  1. 狄利克雷卷积莫比乌斯反演证明
  2. leetcode 72. 编辑距离
  3. Zend Studio 安装 PyDev 插件后报错
  4. react报错this.setState is not a function
  5. python读取网站_科学网—python 获取网址 - 林清莹的博文
  6. Codeforces 1181
  7. HDU - 2874 Connections between cities(并查集+LCA)
  8. Python输出中文乱码问题
  9. 【报告分享】华为:汽车大势所趋,赋能者到引领者.pdf(附下载链接)
  10. 操作系统课设 Nachos 实验六、七、八:Nachos 用户程序与系统调用、地址空间的扩展、系统调用 Exec() 与 Exit()
  11. 电压传感器: 工作原理、类型及电路图
  12. 计算机硬盘小影响,系统C盘容量太小有哪些危害?又要如何扩容呢?今天再说一遍!...
  13. 百度世界推出“轻应用” :人人都可开发
  14. 【转载】SAP物料基本计量单位的更改
  15. 阿里云 RDS CPU性能优化
  16. 捕获组合键 键盘组合键
  17. 阿里定向广告最新突破:面向下一代的粗排排序系统 COLD
  18. rac archiving
  19. cpuz不显示服务器内存,cpu-z怎么看不到内存频率
  20. ajax页面拼接html,ajax请求拼接html代码

热门文章

  1. C++使用GDI+实现图片格式转换
  2. Swift和Objective-C的运行时编程
  3. getcwd()和dirname(__FILE__)的区别
  4. 【Android】Vitamio 4.0 公测版发布(2013-05-28)
  5. 免费图标字体:一套圣诞节相关的图标字体
  6. 网络游戏,原罪和救赎
  7. 斐波那契 非递归写法 非递归实现
  8. 《图解HTTP》读书笔记--第8章 确认访问用户身份的认证
  9. Leetcode376摇摆序列--贪心+自动机
  10. java类与对象_Java类与对象