领扣LintCode算法问题答案-1503. 找零

    科技2022-07-13  130

    领扣LintCode算法问题答案-1503. 找零

    目录

    1503. 找零描述样例 1:样例 2: 题解鸣谢

    1503. 找零

    描述

    某国的货币系统包含面值 1 元、4 元、16 元、64 元共 4 种硬币,以及面值 1024 元的纸币。 你现在使用 1024 元的纸币购买了一件价值为 N, 0 < N <= 1024 元的商品,请问最少会收到多少个硬币作为找零。

    样例 1:

    输入: amount = 1014 输出: 4 找零 2 个 4 元硬币,和 2 个 1 元硬币。

    样例 2:

    输入: amount = 1004 输出: 2 找零 1 个 16 元硬币,1 个 4 元硬币。

    题解

    public class Solution { /** * @param amount: The amount you should pay. * @return: Return the minimum number of coins for change. */ public int giveChange(int amount) { // write you code here. final int totalAmount = 1024; int[] types = new int[]{64, 16, 4, 1}; int ret = 0; int change = totalAmount - amount; for (int t : types) { if (change >= t) { ret += change / t; change %= t; if (change == 0) { break; } } } return ret; } }

    原题链接点这里

    鸣谢

    非常感谢你愿意花时间阅读本文章,本人水平有限,如果有什么说的不对的地方,请指正。 欢迎各位留言讨论,希望小伙伴们都能每天进步一点点。

    Processed: 0.014, SQL: 8