leetcode 322. Coin Change | 322. 零钱兑换(动态规划)
生活随笔
收集整理的这篇文章主要介绍了
leetcode 322. Coin Change | 322. 零钱兑换(动态规划)
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
题目
https://leetcode.com/problems/coin-change/
题解
也许是第一次在没看答案的情况下写的动态规划…
第一反应是,这题不是广义背包吗?想了一下,不是,因为广义背包的约束是小于等于容量,而本题的约束是等于容量。
第二反应是,这题有点像 dp 的累加和啊。把一个数 a 可以拆成 b + c,这样就划分成了子问题。
第三反应是,拆分的过程有点类似于 线段树,可以用来方便理解,不过思路不能照搬。
结合这三个想法,确定了 dp[] 表示强制包含当前元素情况下,需要的最小硬币数量,然后就开始草稿尝试 dp 了。写了几行之后,发现思路可行,搞定。
总结
以上是生活随笔为你收集整理的leetcode 322. Coin Change | 322. 零钱兑换(动态规划)的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: leetcode 318. Maximu
- 下一篇: 324. Wiggle Sort II