昨天招商的笔试,第一道编程题。
1.题目
一位顾客有 k 元钱,想去银行兑换成零钱。银行有 n 种零钱, 分别输入零钱面额。
第一行输入,顾客要询问几次;接下来每两行是一个测试用例。
第一个数字代表银行有几种零钱,第二个数字数字代表顾客要换的钱数;第二行代表零钱的面值是多少。
例如:
3
3 5
1 2 5
3 6
1 2 3
4 100
1 2 4 5
2.思路
count记录顾客要询问几次,遍历count,第一个数字 n 代表货币种类,第二个数字 k 代表要换的钱数。
接下来的一行记录 k 种零钱的面额,记录到列表 list 里面。把列表 list 转换成一个数组 vars ,并从小到大排序。
对每一个测试用例,com(int k, int[] vars,int limit)函数记算种类。
k代表要兑换的钱数,vars代表零钱数组,limit代表零钱最大面额限制。ÿ