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

860.柠檬水找零

在柠檬水摊上,每一杯柠檬水的售价为 5 美元。顾客排队购买你的产品,(按账单 bills 支付的顺序)一次购买一杯。

每位顾客只买一杯柠檬水,然后向你付 5 美元、10 美元或 20 美元。你必须给每个顾客正确找零,也就是说净交易是每位顾客向你支付 5 美元。

注意,一开始你手头没有任何零钱。

给你一个整数数组 bills ,其中 bills[i] 是第 i 位顾客付的账。如果你能给每位顾客正确找零,返回 true ,否则返回 false 。

:这里对于20元找零,优先找10+5的而不是5+5+5的,5元钱找零更加万能,隐藏贪心

class Solution {public boolean lemonadeChange(int[] bills) {int[] bill = new int[3];for(int i = 0; i < bills.length; i++){if(bills[i] == 5) {bill[0]++;}else if(bills[i] == 10) {bill[1]++;if(bill[0] > 0) bill[0]--;else return false;}else{bill[2]++;if(bill[1] > 0 && bill[0] > 0) {bill[0]--;bill[1]--;}else if(bill[0] > 2){bill[0] -= 3;}else return false;}}return true;}
}


http://www.mrgr.cn/news/2382.html

相关文章:

  • C#收集海康系读码器内容并硬触发IO报警
  • Linux软件编程-day(14) 多路连接方法
  • Windows 上设置 MySQL 的主从复制
  • go语言递归、分解处理任务
  • Crypto++:私钥和公钥保存到文件
  • Linux外设接口使用及内核驱动开发---Ubuntu搭建Linux内核开发环境
  • swift微调款框架使用自定义数据集进行通义千问1.5的微调
  • ClickHouse集群的安装
  • 插值算法在数学建模中的应用:以淡水养殖池塘数据为例
  • OLED整体刷新到结合switch刷新方式演变
  • 如何使⽤组将⼀个文件拆分成多个文件 (LINQ)(C#)
  • 掌握Objective-C文本对齐:NSTextTab与NSTextTable的高级应用
  • unity 使用Sqlite报错
  • 设计模式22-迭代器模式
  • 深入理解MySQL分区表:提升性能的利器
  • 基于Spring Boot的库存管理系统
  • 无边界经济:Web3如何打造全球化数字市场
  • 系统架构:分而治之
  • 电路板中的MARK点
  • 【第五节】Win32汇编程序设计