java零钱换整程序_零钱兑换 Java
题目链接
凑成面值为 11 的最小硬币数可以由以下 3者的最小值得到:
1、凑成面值为 10 的最小硬币数 + 面值为 1 的这一枚硬币;
2、凑成面值为 9 的最小硬币数 + 面值为 2 的这一枚硬币;
3、凑成面值为 6 的最小硬币数 + 面值为 5 的这一枚硬币;
dp[i]表示凑齐i枚金币最小需要的数量
那么第一种方法,
dp[i]=Math.min(dp[i],dp[i-coins[j]]+1);
如上面的例子一样,11可以用dp[10]+1来表示或者就是他本身,当然dp[i-coins[j]+1]不能是一个没有访问过的数,且coins[j]的钱数要小于等于最大钱数i的public int coinChange(int[] coins, int amount) {
int[] dp=new int [101010];
Arrays.fill(dp,amount+1);
dp[0]=0;
for(int i=1;i<=amount;i++){
for(int j=0;j
if(coins[j]<=i&&dp[i-coins[j]]!=amount+1){
dp[i]=Math.min(dp[i],dp[i-coins[j]]+1);
}
}
}
if(dp[amount]==amount+1){
dp[amount]=-1;
}
return dp[amount];
}
第二种思路就是完全背包的思路
完全背包,就是一样物品可以选多个
在本意中第二层循环里面表示的是最大的体积,我们这里换成最大的价值,而dp里面保存的是最小的体积public int coinChange(int[] coins, int amount) {
int[] dp=new int[101010];
Arrays.fill(dp,amount+1);
dp[0]=0;
for(int i=0;i
for(int j=coins[i];j<=amount;j++){
dp[j]=Math.min(dp[j],dp[j-coins[i]]+1);
}
}
if(dp[amount]==amount+1){
dp[amount]=-1;
}
return dp[amount];
}
java零钱换整程序_零钱兑换 Java相关推荐
- java零钱换整程序_透析递归应用-换零钱
题目源于<SICP>,这里做一下调整,如下: 给了面值为50元.20元.10元.5元.1元的五种零钱若干,思考把面值100元人民币换成零钱一共有多少种方式? SICP给出的递归算法思想如下 ...
- java零钱换整程序_贪心算法换零钱(java)
贪心算法思想 贪心算法总是做出在当前看来做好的选择.也就是说贪心算法并不从整体最后考虑,他做出的选择只是局部最优选择.他所做出的仅是在某种意义上的局部最优解.贪心算法不是对所有问题都能得到整体最优解, ...
- java零钱换整程序_Leetcode 322. 零钱兑换
题目来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/coin-change 著作权归领扣网络所有.商业转载请联系官方授权,非商业转载请注明出处. ...
- java零钱换整程序_JAVA微信企业付款到零钱(十分钟搞定),
JAVA微信企业付款到零钱(十分钟搞定), 最近帮朋友做了一个简单的微分销系统,实现从企业付款到零钱分润的功能,简单记录一下微信企业付款到零钱的开发过程, 主要就是按规则封装好请求参数调用微信接口,涉 ...
- java零钱换整程序_Java程序,告诉您从1美分到99美分的零钱要发...
我必须编写一个Java程序,告诉从1美分到99美分的零钱要赠送多少硬币.例如,如果金额为86美分,则输出将类似于以下内容: 86 cents can be given as 3 quarters, 1 ...
- java制作一个应用程序_一个制作java小应用程序的全过程
一个制作java小应用程序的全过程 一.安装java软件: 从网上下载jdk-7u25-windows-i586.exe,安装到C:\Program Files\Java\jdk1.7.0_25. 二 ...
- java简单的记事本程序_如何用JAVA编写简单的记事本程序?
展开全部 import java.awt.*; import java.awt.event.*; import javax.swing.*; import javax.swing.event.*; i ...
- JAVA可不可以编写应用程序_编写一个java应用程序
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 另附Arith类: public class Arith { //默认除法运算精度小数点后面的位数 private static final int DE ...
- java程序设计实验报告代写_代写file I/O作业、代写java Scanner I/O程序、代写java编程作业、代做java实验报告...
代写file I/O作业.代写java Scanner I/O程序.代写java编程作业.代做java实验报告 日期:2018-09-05 03:40 ?Objectives oCreate a pr ...
最新文章
- CarTool 使用,获取图片资源
- 团队作业8——第二次项目冲刺(Beta阶段)--第六天
- JSON数据解析及gson.jar包
- Kali Linux 安全渗透教程第三更1.2 安全渗透所需工具
- openCV图像矩阵Mat和二维数组的互相转换
- 秒懂机器学习---朴素贝叶斯
- excel获取mysql数据库数据类型_js如何读取excel数据库数据库数据类型
- 带防夹功能的升降器原理_桌面光污染必不可少——骨伽Bunker RGB鼠标线夹
- Java XMPP负载测试工具
- php 数字加逗号,PHP数字格式化,数字每三位加逗号
- 《Python自动化》学习笔记:shutil模块使用介绍
- Tortoise SVN 如何汉化(最简单的处理方式,一看就会)
- keras 基础入门整理
- spring源码视频教程哪个好
- 电商数据库设计之MySQL 数据库设计规范
- php集成环境xampp完整安装过程
- 优盘中发现计算机病毒怎么办,u盘插电脑中了病毒怎么办
- SQL server日志文件过大处理方式
- matlab系统稳态误差终值,matlab求稳态误差
- xp系统怎么看计算机内存条,XP环境下怎么查看虚拟内存?XP系统虚拟内存过低怎么设置?...
热门文章
- python计算上市公司股票30天的股票收益率
- 後は勉強をもっともっと頑張りましょう、自分の人生は自分で切り開くしかありません...
- idea编辑jsp页面部分页面变黄绿色并且不提示,解决很简单,设置里边找language injection就ok...
- 爬虫爬取淘宝商品信息
- 高红梅:第三章 海明威社会身份的定位 第一节 文学梦与作家身份的认同
- 物联网平台是什么,怎么选择合适的物联网平台?
- 数学公式输入:mathquill
- 天津室内设计培训班:3分钟带你了解室内设计的6大原则
- java直接打印数组 结果输出[I@28d93b30
- [PyQt] Python界面编程学习总结