【贪心算法】柠檬水找零

1.题目解析

860. 柠檬水找零 - 力扣(LeetCode)

2.讲解算法原理

分情况讨论

5---》直接收下

10---》找五元,收下

20----》10+5△

----》5+5+5

由于5元更有用,则尽可能保留5元

3.代码

java 复制代码
class Solution {
    public boolean lemonadeChange(int[] bills) {
        int five=0,ten=0;
        for(int x:bills){
            if(x==5){
                five++;
            }else if(x==10){
                if(five==0){
                    return false;
                }else{
                    five--;
                    ten++;
                }
            }else{
                if(ten!=0&&five!=0){
                    ten--;
                    five--;
                }else if(five>=3){
                    five-=3;
                }else{
                    return false;
                }
            }
        }
        return true;
    }
}

4.证明

证明策略:交换论证法

贪心解:a,b,c,d,e,f

最优解:e,b,c,d,a,f

在不破坏最优解的"最优性质"的前提下,能够将最优解调整成贪心解

相关推荐
补三补四15 小时前
贝叶斯向量自回归模型 (BVAR)
android·算法·数据挖掘·数据分析·回归
幂简集成explinks15 小时前
GPT-Realtime 弹幕TTS API:低延迟秒开集成实战
人工智能·后端·算法
午彦琳16 小时前
力扣404 代码随想录Day15 第三题
算法·leetcode·职场和发展
Q741_14717 小时前
C++ 面试高频考点 力扣 35. 搜索插入位置 二分查找 左右端点查找 题解 每日一题
c++·算法·leetcode·面试·二分查找
saddhu.17 小时前
C++ 快速复习指南(上半部分)
java·c++·算法
力扣每日一题18 小时前
【LeetCode】19、删除链表的倒数第N个结点
算法·leetcode·链表
悦悦子a啊18 小时前
[Java]PTA:jmu-java-01入门-基本输入
java·开发语言·算法
CoovallyAIHub19 小时前
Transformer实时检测首次全面超越YOLO:百度LW-DETR轻量高效,精度速度双突破
深度学习·算法·计算机视觉
闲人编程19 小时前
雪花算法实现分布式环境下的高效动态ID生成
分布式·python·算法·wpf·标识符·雪花·分布式动态id
NAGNIP19 小时前
大模型工程框架生态全览
算法