力扣 322. 零钱兑换

经典背包问题 动态规划 ,伪代码 dp[i] = Math.min(t,dp[i - coins[j]] + 1) 每一个总额必定是由一个硬币加上一部分总额组成的,遍历每种硬币,找到需要最少硬币的另一部分总额。
优化:一开始每次选择硬币时,用Integer.MAX_VALUE作为初值,但是因为硬币的最小面值是1,所以最大数量不超过amount + 1,所以只需要以amount + 1作为初值就可以了,可以减少一点判断语句
自己的(10ms)
class Solution {
public int coinChange(int[] coins, int amount) {
int[] dp = new int[amount + 1];
for(int i = 1; i < amount + 1; i++){ int t = amount + 1;

力扣 322. 零钱兑换最先出现在Python成神之路

版权声明:
作者:dingding
链接:https://www.techfm.club/p/26527.html
来源:TechFM
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>