关注
/**
* 题目描述:
* 第一题:人民币分为(1,5,10,20,50,100)的金额,若交易金额为19,收银(50),找零(20+10+1)交易所需人民币张数为4.
* 或者收银(10+5+1+1+1+1)交易所需人民币张数为6.输入交易金额n,输出交易所需最少人民币数量
* @author young
*
*/
public class MoneyNumberLeast
{
private static int[] moneyArrays = {100, 50, 20, 10, 5, 1};
private static int[] moneyNumber = new int[100];
static
{
//初始化获得1-99交易额的最少人民币数量
for(int i = 1; i < 100; i ++)
{
moneyNumber[i] = getMinNumberOfMoney(i);
}
}
/**
* n元进行分解,最少需要的人民币的数量
* @param n
* @return
*/
public static int getMoneyNumber(int n)
{
int sum = 0;
for(int i = 0; i < moneyArrays.length; i ++)
{
int number = n / moneyArrays[i];
sum += number;
n = n % moneyArrays[i];
}
return sum;
}
/**
* 输入金额为n,返回最少的人民币数量
* @param n在1-99之间
* @return
*/
public static int getMinNumberOfMoney(int n)
{
if(n < 1 || n > 99) return -1;
//第一种情况:直接支付不找零
int sum1 = getMoneyNumber(n);
//第二种情况,支付,找零
int i = moneyArrays.length - 1;
while(n / moneyArrays[i] != 0)
{
i--;
}
int sum2 = getMoneyNumber(moneyArrays[i] - n) + 1;
return Math.min(sum1, sum2);
}
public static int getMinNumber(int n)
{
//100以内的人民币数量
int numberother = 0;
//100元的人民币数量
int number100 = n / 100;
n = n % 100;
if(n > 0)
{
numberother = moneyNumber[n];
}
return number100 + numberother;
}
}
查看原帖
点赞 评论
相关推荐
点赞 评论 收藏
分享
03-29 17:05
门头沟学院 Java
asdasdasda...:我前段时间找工作焦虑,有几天连续熬夜熬穿了,然后心脏突然不舒服,立马躺床上睡觉了,然后第二天还是不舒服,去看医生说是心率不齐,吓得我后面天天早早睡觉,调养身体,过了好几天才好过来。所以真的,工作这些东西哪有那么重要,最多钱多一点钱少一点,降低物欲。活着才是最重要的,现在想想真的后怕 点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# Agent面试会问什么? #
30521次浏览 1216人参与
# 通信/硬件的薪资开多少,才值得去? #
76198次浏览 406人参与
# 厦门银行科技岗值不值得投 #
18554次浏览 420人参与
# 面试体验最好和最差的公司 #
22245次浏览 159人参与
# 美团笔试 #
888797次浏览 5591人参与
# 我的求职进度条 #
978952次浏览 6512人参与
# 哪些公司一直卡在简历筛选 #
103205次浏览 339人参与
# 拿到offer之后,可以做些什么 #
103231次浏览 505人参与
# 说说你知道的学历厂 #
399065次浏览 1420人参与
# 平台or薪资 硬件uu更看重哪个 #
167029次浏览 624人参与
# bilibili求职进展汇总 #
190518次浏览 1091人参与
# 听劝,这个公司值得去吗 #
714636次浏览 2024人参与
# 一人分享一个skill #
7971次浏览 217人参与
# 春招至今,你收到几个面试了? #
78397次浏览 1040人参与
# 给工作过的公司写一条大众点评,你会怎么写? #
10706次浏览 131人参与
# 美团秋招笔试 #
207947次浏览 1166人参与
# 拼多多工作体验 #
55114次浏览 387人参与
# 一人说一个提前实习的好处 #
122889次浏览 715人参与
# 烂工作和没工作哪个更痛苦? #
17754次浏览 271人参与
# 巨人网络求职进展汇总 #
193637次浏览 1232人参与
# AI替代不了什么? #
11982次浏览 201人参与