自学内容网 自学内容网

【JAVA练习】力扣860.柠檬水找零

题目:

解题思路:

        可能面临3种面额,

  • 5美元,不找还,5美元钞票数量加1
  • 10美元,找还5美元,5美元钞票数量减1,10美元钞票加1
  • 20美元,找还15美元,分为一张10美元 + 一张5美元 和三张5美元两种找还方式,优先选择后一种,以方便后面找还。
class Solution {
    public boolean lemonadeChange(int[] bills) {
        int[] money = new int[2];
        for (int bill : bills) {
            if (bill == 5) {
                money[0]++;
            }
            else if (bill == 10) {
                money[1]++;
                if (money[0] > 0) {
                    money[0]--;
                }
                else return false;
            }
            else {
                if (money[0] > 0 && money[1] > 0) {
                    money[0]--;
                    money[1]--;
                }
                else if (money[0] > 2) {
                    money[0] -= 3;
                }
                else return false;
            }
        }
        return true;
    }
}


原文地址:https://blog.csdn.net/2301_76779875/article/details/144275195

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!