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;
    }
};
相关推荐
WaitWaitWait013 小时前
LeetCode每日一题4.20
算法·leetcode
蒟蒻小袁3 小时前
力扣面试150题--有效的括号和简化路径
算法·leetcode·面试
ptu小鹏3 小时前
类和对象(中)
开发语言·c++
跳跳糖炒酸奶4 小时前
第十五讲、Isaaclab中在机器人上添加传感器
人工智能·python·算法·ubuntu·机器人
明月看潮生5 小时前
青少年编程与数学 02-018 C++数据结构与算法 06课题、树
数据结构·c++·算法·青少年编程·编程与数学
小指纹5 小时前
动态规划(一)【背包】
c++·算法·动态规划
_安晓5 小时前
数据结构 -- 图的应用(一)
数据结构·算法·图论
阳洞洞6 小时前
leetcode 二分查找应用
算法·leetcode·二分查找
猎猎长风6 小时前
【数据结构和算法】1. 数据结构和算法简介、二分搜索
数据结构·算法
Pasregret6 小时前
模板方法模式:定义算法骨架的设计模式
算法·设计模式·模板方法模式