当前位置: 首页 > 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];}
}

相关文章:

  • 【系统设计【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基本概念
  • 电脑网站模版/最新新闻热点事件2022
  • 广州网站建设首选快优/谷歌chrome浏览器官方下载
  • 江门网站建设费用/出售网站平台
  • 宁波网站建设企业/湖南seo优化推荐
  • 网站主要栏目/东莞seo网站排名优化公司
  • 哈尔滨网站建设兼职/soso搜索引擎