算法通关村第十九关——最少硬币数

news/2024/6/15 23:47:33 标签: 算法, 动态规划

LeetCode322.给你一个整数数组 coins,表示不同面额的硬币,以及一个整数 amount,表示总金额。计算并返回可以凑成总金额所需的最少的硬币个数。如果没有任何一种硬币组合能组成总金额,返回-1。你可以认为每种硬币的数量是无限的。

示例1:
输入:coins=[1,2,5],amount = 11
输出:3
解释:11 = 5 + 5 + 1

示例2:
输入:coins=[2,5,7],amount=27
输出:3
解释:21 = 7 + 7 + 7

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[0] + 1);
            }
        }
    }
    return dp[amount] > amount ? -1 : dp[amount];
}

当金额为0时,我们默认需要0个硬币来组成该金额。

在这里的两层 for 循环中,要把1到 amount 的每一个数都遍历,在第二层循环中,遍历已知硬币,如果当前遍历的硬币小于等于 i 的话,就说明可以用这个硬币,那么就让当前的 dp 等于dp[i]和 dp[0] + 1中的一个。

在dp数组当中,每一个值都是通过前面的值推导出来的。


http://www.niftyadmin.cn/n/5006101.html

相关文章

如何使用 SwiftUI 支持夜色模式?

【中文标题】如何使用 SwiftUI 在 macOS 上可靠地检索窗口的背景颜色&#xff1f;【英文标题】&#xff1a;How to reliably retrieve a windows background color on macOS with SwiftUI?【发布时间】&#xff1a;2021-04-28 16:54:22【问题描述】&#xff1a; 是否有一种 S…

『力扣每日一题06』字符串中的第一个唯一字符

今天是学习新知识的一天&#xff0c;String 类中有太多细枝末节&#xff0c;需要我去学习跟掌握了。 话不多说&#xff0c;今天给大家带来一道字符串的题目~ 一、题目 给定一个字符串 s &#xff0c;找到 它的第一个不重复的字符&#xff0c;并返回它的索引 。如果不存在&…

Git使用经验总结3-删除远端提交记录

文章目录 1. 问题2. 解决方案3. 参考 1. 问题 如果将有问题的代码提交到代码仓库甚至已经push到远端&#xff0c;这个时候就得想办法把提交撤销。一种方案是使用git revert&#xff0c;不过会造成历史记录留存的问题&#xff0c;git revert实际上是将某个版本又重新提交了一遍…

nginx-带宽限制-令牌桶算法

nginx的令牌桶算法 客户请求nginx时&#xff0c;通过给每个请求授予令牌&#xff0c;来给予每个请求响应的带宽&#xff0c;当令牌全部授予完了&#xff0c;后面的请求就处于等待中。 假如一个令牌给100M带宽&#xff0c;那么两个令牌就是200M。有多少牌子&#xff0c;就有多少…

MySQL的故事——查询性能优化

查询性能优化 文章目录 查询性能优化一、查询优化器的提示(hint)二、优化特定类型的查询 一、查询优化器的提示(hint) HIGH_PRIORITY和LOW_PRIORITY 这个提示告诉MySQL&#xff0c;当多个语句同时访问某一个表时&#xff0c;哪些语句的优先级相对高些&#xff0c;哪些相对低些…

Excel VSTO开发5 -Excel对象结构

版权声明&#xff1a;本文为博主原创文章&#xff0c;转载请在显著位置标明本文出处以及作者网名&#xff0c;未经作者允许不得用于商业目的。 5 Excel对象结构 Excel提供了几个比较重要的对象&#xff1a; Application、Workbooks、Workbook、Worksheets、Worksheet 为了便…

工业设备状态监测中的声发射技术应用

工业设备状态监测是现代制造业和工业领域的重要一环&#xff0c;它能够帮助企业实时追踪设备的运行状况&#xff0c;及早发现潜在问题&#xff0c;采取预防性维护措施&#xff0c;以提高生产效率、降低维修成本&#xff0c;并确保工作场所的安全性。在这个领域&#xff0c;声发…

PHP教学质量评估系统Dreamweaver开发mysql数据库web结构php编程计算机网页代码

一、源码特点 PHP教学质量评估系统是一套完善的web设计系统&#xff0c;对理解php编程开发语言有帮助&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采用B/S模式开发。 代码 https://download.csdn.net/download/qq_41221322/88301983 论文 https://down…