LeetCode89:柠檬水找零

题目描述

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

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

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

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


代码

cpp 复制代码
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;
    }
};
相关推荐
前端的阶梯几秒前
深入浅出的聊下AI Agent
算法·架构
Tony沈哲2 分钟前
AI 正在进入本地时代,我开源了一个推理平台—— 支持多模型 / Agent / Workflow 的工程实现
人工智能·算法·llm
黎阳之光3 分钟前
AI赋能安全新生态 黎阳之光锚定国家政策筑造数智防线
大数据·人工智能·算法·安全·数字孪生
01二进制代码漫游日记4 分钟前
通讯录(一)
c语言·数据结构·学习
2401_846341656 分钟前
调试技巧与核心转储分析
开发语言·c++·算法
D愿你归来仍是少年8 分钟前
Apache Flink Checkpoint 与 Chandy-Lamport 算法深度解析
算法·flink·apache
爱吃巧克力的程序媛8 分钟前
COM 对象的核心基础知识
c++·qt
奶人五毛拉人一块9 分钟前
C++类和对象的学习-1
c++·对象··构造函数·析构函数·运算符重载
2301_8154829310 分钟前
C++安全编程指南
开发语言·c++·算法
2401_8512729910 分钟前
内存映射文件高级用法
开发语言·c++·算法