LeetCode89:柠檬水找零

题目描述

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

每位顾客只买一杯柠檬水,然后向你付 5 美元、10 美元或 20 美元。你必须给每个顾客正确找零,也就是说净交易是每位顾客向你支付 5 美元。

注意,一开始你手头没有任何零钱。

给你一个整数数组 bills ,其中 bills[i] 是第 i 位顾客付的账。如果你能给每位顾客正确找零,返回 true ,否则返回 false 。

在这里插入图片描述
代码

class Solution {
public:
    bool lemonadeChange(vector<int>& bills) {
        int _5Num=0;
        int _10Num=0;
        if (bills[0] == 10 || bills[0] == 20 || bills[1] == 20) return false;

        for (int bill:bills) {
            if (bill == 5) ++_5Num;

            else if (bill == 10) {
                if (_5Num == 0) return false;
                ++_10Num;
                --_5Num;
                
            }

            else if (bill == 20) {
                if (_10Num > 0 && _5Num>0) {
                    --_10Num;
                    --_5Num;
                }
                else if(_5Num>=3){
                    _5Num -= 3;   
                }
                else {
                    return false;
                }
            }
        }
        return true;
    }
};

相关推荐

  1. 【贪心算法】之买柠檬水

    2024-05-02 13:10:02       48 阅读
  2. [力扣题解]860. 柠檬水

    2024-05-02 13:10:02       15 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-05-02 13:10:02       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-05-02 13:10:02       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-05-02 13:10:02       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-05-02 13:10:02       20 阅读

热门阅读

  1. solidity(16)

    2024-05-02 13:10:02       14 阅读
  2. 【刷爆力扣之二叉树】107. 二叉树的层序遍历 II

    2024-05-02 13:10:02       14 阅读
  3. LeetCode //C - 44. Wildcard Matching

    2024-05-02 13:10:02       12 阅读
  4. SQLServer聚合函数

    2024-05-02 13:10:02       11 阅读
  5. 近期学习总结(1)!!!选择结构程序~

    2024-05-02 13:10:02       11 阅读
  6. Nacos的开源背景与主要贡献者深度解析

    2024-05-02 13:10:02       12 阅读
  7. k8s-实战——kubeadm安装1.30.0

    2024-05-02 13:10:02       10 阅读