leetcode322 零钱兑换

news/2024/9/27 0:30:42

leetcode322 零钱兑换

image-20240927001636548

思路:分析可知这是一道完全背包问题,主要代码为

for (int j = 0; j < coins.length; j++) {if (coins[j] <= i) {dp[i] = Math.min(dp[i], dp[i - coins[j]] + 1);}
}

但是要注意边界情况的处理,首先dp[0]赋值为0,所有元素赋值为最大值+1,这样在遍历的时候dp[i](i为coins中元素)=dp[0]+1=1

再讨论一下需要返回-1的情况,比如coins为:[2,4] amount为5

这样在5的循环中,首先dp[5]=amount+1=6(初始状态),然后dp[5]=min(dp[5],d[5-2]+1)即dp[5]=min(6,d[3]+1),dp[3]=min(6,dp[1]+1)=6所以dp[5]=6,可见只要最后dp[amount]>amount就返回-1

public class Solution {public int coinChange(int[] coins, int amount) {int max = amount + 1;int[] dp = new int[amount + 1];Arrays.fill(dp, max);dp[0] = 0;for (int i = 1; i <= amount; i++) {for (int j = 0; j < coins.length; j++) {if (coins[j] <= i) {dp[i] = Math.min(dp[i], dp[i - coins[j]] + 1);}}}if(dp[amount]>amount) return -1;return dp[amount];}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ryyt.cn/news/65216.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

企业数字化转型项目顶层规划方案

企业数字化转型项目顶层规划方案

2024秋软件工程结对作业(第一次之需求分析和原型设计)

软件工程课程 班级链接作业要求 作业链接作业目标 需求分析和原型设计学号 102201312队友 102201311张硕使用墨刀构建原型,原型链接:请点击我客户现实困扰 ​ 在大学里,一些有想法的学生希望通过发起或参与跨专业的项目(创业、学术)来提升自己的综合能力,拓宽知识面和积累…

软件工程第一次结对作业《福大Team》

软件工程课程 班级链接作业要求 作业链接作业目标 需求分析和原型设计学号 102201311队友 102201312陈言泷使用墨刀构建原型,原型链接:请点击我客户现实困扰 ​ 在大学里,一些有想法的学生希望通过发起或参与跨专业的项目(创业、学术)来提升自己的综合能力,拓宽知识面和积…

讲的好!!!

若有侵权,请联系删除!!!

易优CMS后台上传图片报错mkdir(): Permission denied 报错-eyoucms

当你在易优CMS后台上传图片时遇到“mkdir(): Permission denied”的错误提示时,通常是因为文件系统的权限设置不当。以下是一些具体的解决步骤: 步骤 1:检查目录权限确定问题目录确认出现问题的目录是 /core/library/think/cache/driver/File.php。 实际上,问题可能出现在其…

易优CMS阿里云OSS上传图片报错-eyoucms

步骤 1:检查基本设置确认基本设置登录易优CMS后台。 进入“基本设置”或“系统设置”页面。 确认“站点域名”或“访问域名”设置为 HTTPS 开头的域名。 步骤 2:检查 OSS 插件配置进入 OSS 插件设置在后台找到 OSS 插件设置页面。 确认 OSS 插件中的所有域名配置都使用 HTTPS…

易优CMS致命错误,联系技术支持:Call to undefined function eyPreventShell()-eyoucms

当你遇到 core/helper.php 第 146 行左右出现致命错误,并且提示 Call to undefined function eyPreventShell() 时,通常是因为某个自定义函数未被定义或未被正确引入。以下是一些具体的解决步骤: 步骤 1:检查函数定义定位 eyPreventShell 函数查找 eyPreventShell 函数的定…