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;
    }
};
相关推荐
方案开发PCBA抄板芯片解密17 分钟前
什么是算法:高效解决问题的逻辑框架
算法
深耕AI21 分钟前
【MFC文档与视图结构:数据“仓库”与“橱窗”的梦幻联动 + 初始化“黑箱”大揭秘!】
c++·mfc
songx_9928 分钟前
leetcode9(跳跃游戏)
数据结构·算法·游戏
学c语言的枫子38 分钟前
数据结构——双向链表
c语言·数据结构·链表
励志不掉头发的内向程序员1 小时前
STL库——二叉搜索树
开发语言·c++·学习
小白狮ww1 小时前
RStudio 教程:以抑郁量表测评数据分析为例
人工智能·算法·机器学习
AAA修煤气灶刘哥1 小时前
接口又被冲崩了?Sentinel 这 4 种限流算法,帮你守住后端『流量安全阀』
后端·算法·spring cloud
tan180°1 小时前
Boost搜索引擎 查找并去重(3)
linux·c++·后端·搜索引擎
Boop_wu2 小时前
[数据结构] 栈 · Stack
数据结构
kk”2 小时前
C语言快速排序
数据结构·算法·排序算法