贪心算法:柠檬水找零

题目链接: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;
    }
};
相关推荐
Fanxt_Ja17 小时前
【LeetCode】算法详解#15 ---环形链表II
数据结构·算法·leetcode·链表
侃侃_天下17 小时前
最终的信号类
开发语言·c++·算法
茉莉玫瑰花茶17 小时前
算法 --- 字符串
算法
博笙困了17 小时前
AcWing学习——差分
c++·算法
NAGNIP17 小时前
认识 Unsloth 框架:大模型高效微调的利器
算法
NAGNIP17 小时前
大模型微调框架之LLaMA Factory
算法
echoarts17 小时前
Rayon Rust中的数据并行库入门教程
开发语言·其他·算法·rust
Python技术极客18 小时前
一款超好用的 Python 交互式可视化工具,强烈推荐~
算法
徐小夕18 小时前
花了一天时间,开源了一套精美且支持复杂操作的表格编辑器tablejs
前端·算法·github
小刘鸭地下城18 小时前
深入浅出链表:从基础概念到核心操作全面解析
算法