这是一个完全背包问题。用最少的物品填满容量为amount的包。
外层循环遍历背包的容积,看在某一容积下面填满这个背包最少需要多少个硬币。
内层循环用于试着投放硬币。

class Solution {public:int coinChange(vector<int>& coins, int amount) {vector<int> dp(amount+1,amount+1);//如何确定初始值dp[0] = 0;//填满容积为0的背包不需要硬币for(int i = 1;i <= amount;i++)//外层循环用背包的容积for(int j = 0;j < coins.size();j++){//内层用物品遍历,对于每一种容积都计算出最少需要几个硬币if(coins[j] <= i){//只有小于当下容积的硬币才放的进去;dp[i] = min(dp[i],dp[i - coins[j]]+1);}}//return dp[amount];这样没有考虑到如果存在不满足的要如何返回return dp[amount] > amount ? -1 : dp[amount];}
};

几个问题
1)dp数组如何初始化?全部初始化为amount+1。因为硬币的最小的面值为1,填满这个背包最多要使用amount个,要使用最少的硬币一定是小于等于amount的。
2)为什么是外层遍历背包的容积,内层遍历物品呢?

2021-05-24Leetcode322.零钱兑换相关推荐

  1. c++ 多重背包状态转移方程_背包问题之零钱兑换

    读完本文,你可以去力扣拿下如下题目: 518.零钱兑换II ----------- 零钱兑换 2 是另一种典型背包问题的变体,我们前文已经讲了 经典动态规划:0-1 背包问题 和 背包问题变体:相等子 ...

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

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

  3. 322. 零钱兑换 golang 动态规划

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

  4. 动态规划思路和Python解决零钱兑换问题和最大乘积子序列的乘积的问题

    动态规划(Dynamic Programming)思路和Python解题示例 动态规划是一种主要用来优化朴素递归的方法,每当输入不同值调用递归函数出现大量重复的(子)输入和调用(返回结果)时,就可以考 ...

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

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

  6. LeetCode 322. 零钱兑换(DP)

    文章目录 1. 题目信息 2. 解题 2.1 回溯穷举 2.2 动态规划 1. 题目信息 给定不同面额的硬币 coins 和一个总金额 amount. 编写一个函数来计算可以凑成总金额所需的最少的硬币 ...

  7. 动态规划——零钱兑换(Leetcode 322)

    题目选自Leetcode 322.零钱兑换 想必大家看一眼就明白了(bushi),这就是动态规划的背包问题~ 算法思想 那么,既然知道了这是个动态规划问题,就要思考如何列出正确的状态转移方程? 1.确 ...

  8. 【恋上数据结构】贪心(最优装载、零钱兑换、0-1背包)、分治(最大连续子序列和、大数乘法)

    贪心.分治 贪心(Greedy) 问题1:最优装载(加勒比海盗) 问题2:零钱兑换 零钱兑换的另一个例子 贪心注意点 问题3:0-1背包 0-1 背包 - 实例 一些习题 分治(Divide And ...

  9. 市面上主流编辑器介绍(2021/05/20)

    市面上主流编辑器介绍(2021/05/20) 背景 Markdown是一种有用的轻量级标记语言,后续Markdown简写为md. 富文本编辑器(Rich Text Editor,RTE)是一种可内嵌于 ...

  10. DS SIMULIA CST STUDIO SUITE 2021.05 SP5

    CST Studio Suite 2021.05 - 发行说明 此补丁是推荐更新,其中包括以下更正和改进. 许可 CST Studio Suite Frontend 包括 CST Studio Sui ...

最新文章

  1. IOS6.0 应用内直接下载程序 不需跳转AppStore
  2. phpcms v9 内容页显示会员的详细信息(包括自定义字段)
  3. 如何为从1到10万用户的应用程序,设计不同的扩展方案?
  4. 蛋白结构建模与优化_最终幻想: 无中生有的蛋白质从头设计
  5. Ubuntu 如何为 XMind 添加快速启动方式和图标
  6. Python学习之路39-特性property
  7. python listdir报错_Python常见十六个错误集合,你知道那些?
  8. php 点击下拉显示内容,php+ajax实现仿百度查询下拉内容功能示例
  9. 页面中动态画有超连接的图
  10. 使用reflux进行react组件之间的通信
  11. python中变量的生命周期
  12. HDU1598 并查集+枚举
  13. atitit.MyEclipse10 中增加svn插件故障排除
  14. [黑苹果]简单修改FB实现显存增加至2048MB修复某些花屏
  15. 如何设计一个优惠券系统
  16. AIX 7.1查看硬件配置信息 查看端口IBM POWER 750 P750
  17. 判断微信小程序转发是否成功
  18. Android 百度翻译API(详细步骤+源码)
  19. 大数据影响下的专题地图编制
  20. react devtools插件报错处理

热门文章

  1. java 定义map集合_Java中的Map集合
  2. 图片如何长图拼图?长图拼图的办法在这里
  3. 常见的运动控制器控制方案
  4. transferTo源码分析
  5. C语言在屏幕的任意位置输出字符
  6. 工业智能网关泵站远程监控系统
  7. Android常用控件之Button与ImageButton
  8. 深度学习技术是我国制造光刻机弯道超车的机会吗?
  9. 运用背景橡皮擦抠透明郁金香
  10. 财务案例Excel应用-我们一直在等待的UiPath