860. 柠檬水找零

Posted 不吐西瓜籽

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了860. 柠檬水找零相关的知识,希望对你有一定的参考价值。

算法记录

LeetCode 题目:

  在柠檬水摊上,每一杯柠檬水的售价为 5 美元。顾客排队购买你的产品,(按账单 bills 支付的顺序)一次购买一杯。



说明

一、题目

  每位顾客只买一杯柠檬水,然后向你付 5 美元、10 美元或 20 美元。你必须给每个顾客正确找零,也就是说净交易是每位顾客向你支付 5 美元。
  注意,一开始你手头没有任何零钱。
  给你一个整数数组 bills ,其中 bills[i] 是第 i 位顾客付的账。如果你能给每位顾客正确找零,返回 true ,否则返回 false 。

二、分析

  • 就是一个简单的逻辑问题,将所有的结果列一下。
  • 按照规则返回数据即可。
class Solution {
    public boolean lemonadeChange(int[] bills) {
        int five = 0;
        int ten = 0;
        for(int i : bills) {
            if(i == 5) five++;
            if(i == 10) 
                if(five > 0) {
                    five-- ; ten++;
                }
                else return false;
            if(i == 20)
                if(five > 0 && ten > 0) {
                    five-- ; ten--;
                }
                else if(five > 3) five -= 3;
                else return false;
        }
        return true;
    }
}

总结

能理清题目即可。

以上是关于860. 柠檬水找零的主要内容,如果未能解决你的问题,请参考以下文章

LeetCode:柠檬水找零860

860,柠檬水找零

day35 860. 柠檬水找零

860. 柠檬水找零

Leetcode 860. 柠檬水找零 贪心

leetcode 860. 柠檬水找零(Lemonade Change)