LeetCode89:柠檬水找零

题目描述

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

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

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

给你一个整数数组 bills ,其中 billsi 是第 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;
    }
};
相关推荐
晚风予卿云月15 小时前
【前缀和】一维前缀和 & 二维前缀和
数据结构·c++·算法
myjs99915 小时前
意识的两种类型
c++
YL2004042615 小时前
071字符串解码
数据结构·leetcode
林文韬32715 小时前
逐位二进制拼接 → 翻转 → 去头零 → 消邻重
算法
变量未定义~15 小时前
单点修改、区间求和(模板)、区间修改,单点查询(模板)
数据结构·算法
weixin_4684668515 小时前
SURF 图像特征提取算法新手实战指南
图像处理·人工智能·算法·机器视觉·surf·sift
Lumos_77716 小时前
程序的诞生
c++
basketball61616 小时前
C++ static_cast 完全解析
开发语言·c++
weixin_4684668516 小时前
支持向量机新手实战指南
人工智能·python·算法·机器学习·支持向量机
LinHenrY122716 小时前
数据结构(二叉树)
数据结构