当前位置: 首页 > news >正文

【贪心算法】柠檬水找零

1.题目解析

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

2.讲解算法原理

分情况讨论

5---》直接收下

10---》找五元,收下

20----》10+5△

   ----》5+5+5

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

3.代码

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

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

http://www.dtcms.com/a/58636.html

相关文章:

  • 《Python实战进阶》No18: 使用 Apache Spark 进行分布式计算
  • Seata与shardingsphere的集成,单日10万+数据入库及一致性
  • MyBatis 中常用的 SQL 语句
  • mosfet的驱动设计-栅极电阻
  • 【新闻资讯】IT 行业最新动向:AI 引领变革,多领域融合加速
  • 大模型架构记录3-提示工程
  • 【OneAPI】网页截图API-V2
  • 1.2TypeScript 类型系统在前端的革命性意义
  • P5789 [TJOI2017] 可乐(数据加强版)矩阵乘法、邻接矩阵
  • C++ 滑动窗口
  • 基于Harbor构建docker私有仓库
  • PostgreSQL安装和mcp PostgreSQL
  • 【无人机路径规划】基于麻雀搜索算法(SSA)的无人机路径规划(Matlab)
  • 通过双模态融合卷积网络进行多中心脑年龄预测|文献速递-医学影像人工智能进展
  • 【Linux】Linux Progress Pulse-进度条
  • introduce.py
  • Android Glide 配置与初始化模块源码深度剖析
  • WWW 2025 | 时空数据(Spatial-Temporal)论文总结
  • docker 学习
  • 电路的一些设计经验
  • Zookeeper(95)如何在Zookeeper中实现分布式配置管理?
  • 第53天:Web攻防-SQL注入数据库类型用户权限架构分层符号干扰利用过程发现思路
  • 数据结构(王卓版)
  • 【java】StringJoiner
  • electron的通信方式(三种)
  • LEETCODE:二叉树的层序遍历JAVA
  • javaEE初阶————多线程进阶(1)
  • 升级旧版本Vmware到Vmware Workstation Pro 17
  • Gateway 配置参数理解
  • VBA使用fso对象合并指定路径的txt文件(含子目录)