当前位置:网站首页>LeetCode_322_零钱兑换
LeetCode_322_零钱兑换
2022-08-01 23:54:00 【Fitz1318】
题目链接
题目描述
给你一个整数数组 coins ,表示不同面额的硬币;以及一个整数 amount ,表示总金额。
计算并返回可以凑成总金额所需的 最少的硬币个数 。如果没有任何一种硬币组合能组成总金额,返回 -1 。
你可以认为每种硬币的数量是无限的。
示例 1:
输入:coins = [1, 2, 5], amount = 11
输出:3
解释:11 = 5 + 5 + 1
示例 2:
输入:coins = [2], amount = 3
输出:-1
示例 3:
输入:coins = [1], amount = 0
输出:0
提示:
1 <= coins.length <= 121 <= coins[i] <= 2^(31) - 10 <= amount <= 10^4
解题思路
动态规划三部曲
- 确定
dp数组及下标含义dp[j]:凑成总金额j所需的最少的硬币个数dp[0] = 0
- 确定递推公式
dp[j] = Math.min(dp[j],dp[j-coin[i]] + 1)
- 确定遍历顺序
- 外层遍历物品,内层遍历背包容量
- 将背包初始化为最大值
amount+1 - 注意需要判断剩余的零钱是不是大于硬币的面值,如果不是,那么就不更新
dp[j] - 最后判断
dp[amount] > amount ?
AC代码
class Solution {
public int coinChange(int[] coins, int amount) {
int[] dp = new int[amount + 1];
int max = amount + 1;
Arrays.fill(dp, max);
dp[0] = 0;
for (int i = 0; i < coins.length; i++) {
for (int j = 1; j <= amount; j++) {
if (coins[i] <= j) {
dp[j] = Math.min(dp[j], dp[j - coins[i]] + 1);
}
}
}
return dp[amount] > amount ? -1 : dp[amount];
}
}
边栏推荐
猜你喜欢

Excel导入和导出
[email protected]与YOLO等目标检测模型的非极大值抑制NMS和评价指标(Acc, Precision, Recall, AP, mAP, RoI)、YOLOv5中[email protected]与

【图像融合】基于加权和金字塔实现图像融合附matlab代码

带你搞懂MySQL隔离级别,两个事务同时操作同一行数据会怎样?

OpenCV DNN blogFromImage()详解

机器学习文本分类

Appears in oozie on CDH's hue, error submitting Coordinator My Schedule

【MySQL篇】初识数据库

Get piggy homestay (short-term rental) data

Making a Simple 3D Renderer
随机推荐
在MySQL登录时出现Access denied for user ‘root‘@‘localhost‘ (using password YES) 拒绝访问问题解决
OpenCV DNN blogFromImage()详解
sys_kill system call
@Transactional注解在类上还是接口上使用,哪种方式更好?
Flink学习第五天——Flink可视化控制台依赖配置和界面介绍
【三子棋】C语言实现简易三子棋
yay 报错 response decoding failed: invalid character ‘<‘ looking for beginning of value;
Data Organization --- Chapter 5 Trees and Binary Trees --- The Concept of Binary Trees --- Application Questions
多御安全浏览器android版更新至1.7,改进加密协议
nodejs--process
Win10安装DBeaver连接MySQL8、导入和导出数据库详细教程
邻接表与邻接矩阵
12306抢票,极限并发带来的思考?
企业防护墙管理,有什么防火墙管理工具?
斜堆、、、
Classical Literature Reading--DLO
【Leetcode】479. Largest Palindrome Product
cdh6 opens oozieWeb page, Oozie web console is disabled.
20220725 Information update
What can be done to make this SQL into a dangerous SQL?