当前位置:编程学习 > JAVA >>

刚做完亚马逊的在线测试题,分享一个给大家讨论讨论

Given coins with values 1, 3, and 5. 给出硬币的面值1,3,5
And the sum S is set to be 11. 算出最少要多少个硬币才可以得到总数11,硬币的个数可以随意

比如如果得到11,所提供的硬币的面额为1,3,5,那么最少用3个硬币就可以:一个一块的,加2个五块的。

@para Vector a : 硬币的面额, S:要计算的总和。 
@return : 最少需要的硬币数
int static int MinCoinNumbers(Vector<Integer> a, S){

} --------------------编程问答-------------------- 对硬币面值倒序排序,然后遍历硬币数组:
coins_x = N / coins_value;
N = N % coins_value;

sum(coins_x)即为所求 --------------------编程问答--------------------
引用 1 楼  的回复:
对硬币面值倒序排序,然后遍历硬币数组:
coins_x = N / coins_value;
N = N % coins_value;

sum(coins_x)即为所求

这个解成立条件是一定存在面值为1的硬币 --------------------编程问答--------------------
引用 2 楼  的回复:
引用 1 楼  的回复:

对硬币面值倒序排序,然后遍历硬币数组:
coins_x = N / coins_value;
N = N % coins_value;

sum(coins_x)即为所求

这个解成立条件是一定存在面值为1的硬币


硬币的面值是任意的,而且不需要用到所用的面值,每个面值的硬币个数也是随意的
补充:Java ,  Java SE
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,