当前位置: 首页 > news >正文

2025年- H82-Lc190--322.零钱兑换(动态规划)--Java版

1.题目描述

2.思路

这里面钱币的数量是无限的。
装满这个背包(总金额)要用多少容量(硬币数量)。
(1)确定dp数组的含义
(2)装满容量为j,最少的物品为dp[j],要求硬币数量dp[amount]
(3)dp[0]=0
(4)不管是排列还是组合,这道题都是要装满背包。
格式:
for(物品) for(背包)-》组合数
for(背包)for(物品)-》排列数

3.代码实现

class Solution {public int coinChange(int[] coins, int amount) {int max = Integer.MAX_VALUE - 1;int[] dp = new int[amount + 1];for (int i = 1; i <= amount; i++) {dp[i] = 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 - coins[j]] != max) {dp[i] = Math.min(dp[i], dp[i - coins[j]] + 1);}}}return dp[amount] == max ? -1 : dp[amount];}
}
http://www.dtcms.com/a/253108.html

相关文章:

  • 【系统设计【4】】设计一个限流器:从理论到实践的完整解决方案
  • 【FreeRTOS实战】一章速通freertos含扩展MQTT,SD卡,
  • Java + Spring Boot + MyBatis 枚举变量传递给XML映射文件做判断
  • 6.17 note
  • 【AI News | 20250617】每日AI进展
  • JDBC强化关键_009_连接池
  • react 状态改变引发视图频繁更新,怎么优化
  • k均值聚类+成分分析降维+自编码器降维
  • Spring三层架构
  • VS和VS Code 对比和区别
  • Springboot整合ollama运行本地AI大模型
  • 利用Enigma Virtual Box将QT生成的软件打包成一个exe可执行文件
  • C++ map代码练习 1、2、priority_queue基础概念、对象创建、数据插入、获取堆顶、出队操作、大小操作,自定义结构、代码练习 1 2
  • Linux -- Ext系列文件系统介绍
  • 游戏引擎学习路径与技术栈指南
  • python+uniapp微信小程序的共享雨伞租赁系统
  • Day.34
  • JVM: 内存、类与垃圾
  • API 管理系统实践指南:监控、安全、性能全覆盖
  • MCP基本概念
  • synchronized 做了哪些优化?
  • 【Algorithm】图论入门
  • 软件体系结构-论述、设计、问答
  • 每天一个前端小知识 Day 4 - TypeScript 核心类型系统与实践
  • 跨境卖家警报。抽绳背包版权案立案,TRO在即速排查
  • 二维数组 结构体01 day15,16
  • 【大模型:知识库管理】--MinerU本地部署
  • SpringBoot Starter设计:依赖管理的革命
  • 什么是数据清洗?数据清洗有哪些步骤?
  • 选择与方法专栏(9) 职场内篇: 是否要跳出舒适圈?如何处理犯错?