贪心算法:柠檬水找零

题目链接:860. 柠檬水找零 - 力扣(LeetCode)

收的钱只能是5、10、20美元,分类讨论:收5美元无需找零;收10美元找零5元;收20美元找零15美元。其中对于找零15美元的方案有两种,此处涉及贪心算法:找零1张10美元+1张5美元、找零3张5美元,一定是方案一优先级高于方案二。

cpp 复制代码
class Solution {
public:
    bool lemonadeChange(vector<int>& bills) {
        int five=0;
        int ten=0;
        for(auto e:bills)
        {
            if(e==5)
                ++five;
            else if(e==10)
            {
                ++ten;
                if(five>0)
                    --five;
                else
                    return false;
            }
            else//贪心算法
            {
                if(ten>0)
                {
                    --ten;
                    if(five>0)
                        --five;
                    else
                        return false;
                }
                else
                {
                    if(five>=3)
                        five-=3;
                    else
                        return false;
                } 
            }
        }
        return true;
    }
};
相关推荐
guygg8810 分钟前
基于Matlab的压缩感知信道估计算法实现
开发语言·算法·matlab
诺....39 分钟前
C语言不确定循环会影响输入输出缓冲区的刷新
c语言·数据结构·算法
Yuroo zhou39 分钟前
采矿定向技术演进:MEMS定向短节的崛起
算法·硬件架构·硬件工程·石油·钻井
EriccoShaanxi44 分钟前
穿越高温地层:加速度计如何成为石油钻井的核心感官
大数据·算法
Tisfy1 小时前
LeetCode 3531.统计被覆盖的建筑:最大最小值
算法·leetcode·题解·桶排序
京东零售技术1 小时前
SIGIR 2025 | 基于图同构网络的群体建模在点击率预测中的应用
算法
程序员西西1 小时前
深入剖析 Java 中的 ZGC 机制:原理、优势与实践
java·后端·算法
月明长歌1 小时前
【码道初阶】Leetcode.189 轮转数组:不熟悉ArrayList时踩得坑,被Arraylist初始化骗了?
java·算法·leetcode·职场和发展