题目链接:https://leetcode-cn.com/problems/lemonade-change/

题目描述

在柠檬水摊上,每一杯柠檬水的售价为 5 美元。

顾客排队购买你的产品,(按账单 bills 支付的顺序)一次购买一杯。

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

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

如果你能给每位顾客正确找零,返回 true ,否则返回 false 。

测试用例

示例 1:

输入:[5,5,5,10,20]
输出:true
解释:
前 3 位顾客那里,我们按顺序收取 3 张 5 美元的钞票。
第 4 位顾客那里,我们收取一张 10 美元的钞票,并返还 5 美元。
第 5 位顾客那里,我们找还一张 10 美元的钞票和一张 5 美元的钞票。
由于所有客户都得到了正确的找零,所以我们输出 true。
示例 2:

输入:[5,5,10]
输出:true
示例 3:

输入:[10,10]
输出:false
示例 4:

输入:[5,5,10,10,20]
输出:false
解释:
前 2 位顾客那里,我们按顺序收取 2 张 5 美元的钞票。
对于接下来的 2 位顾客,我们收取一张 10 美元的钞票,然后返还 5 美元。
对于最后一位顾客,我们无法退回 15 美元,因为我们现在只有两张 10 美元的钞票。
由于不是每位顾客都得到了正确的找零,所以答案是 false。

提示

0 <= bills.length <= 10000
bills[i] 不是 5 就是 10 或是 20

题解

5元:直接收下。

10元:找零一张5元。

20元:优先找零10元+5元各一张;其次找零3张5元。

代码

class Solution {public boolean lemonadeChange(int[] bills) {int five = 0, ten = 0;for(int bill : bills ){if (bill == 5){ // 收到5元,存下,不找零five++;} else if (bill == 10){ // 收到10元,存下,找零一张5元if (five == 0) // 5元零钱不够return false;five--;ten++;} else { // 收到20,存下if (ten > 0 && five > 0){ // 优先找零10+5ten--;five--;} else if (five >= 3){ // 其次,选择找零3张5元five -= 3;} else { return false;}} // else}// for return true;}
}

【LeetCode】860. 柠檬水找零 【简单模拟】相关推荐

  1. leetcode: 860. 柠檬水找零

    860. 柠檬水找零 来源:力扣(LeetCode) 链接: https://leetcode.cn/problems/lemonade-change/ 在柠檬水摊上,每一杯柠檬水的售价为 5 美元. ...

  2. leetcode.860. 柠檬水找零

    860. 柠檬水找零 在柠檬水摊上,每一杯柠檬水的售价为 5 美元. 顾客排队购买你的产品,(按账单 bills 支付的顺序)一次购买一杯. 每位顾客只买一杯柠檬水,然后向你付 5 美元.10 美元或 ...

  3. LeetCode[860] 柠檬水找零 (贪心)

    PS: 本题目摘自 LeetCode 860 原题 柠檬水找零,一道贪心算法问题 题目描述 在柠檬水摊上,每一杯柠檬水的售价为 5 美元. 顾客排队购买你的产品,(按账单 bills 支付的顺序)一次 ...

  4. LeetCode 860. 柠檬水找零 (简单)greedy

    题目 在柠檬水摊上,每一杯柠檬水的售价为 5 美元. 顾客排队购买你的产品,(按账单 bills 支付的顺序)一次购买一杯. 每位顾客只买一杯柠檬水,然后向你付 5 美元.10 美元或 20 美元.你 ...

  5. LeetCode#860: 柠檬水找零

    题目(LeetCode#860) 在柠檬水摊上,每一杯柠檬水的售价为 5 美元. 顾客排队购买你的产品,(按账单 bills 支付的顺序)一次购买一杯. 每位顾客只买一杯柠檬水,然后向你付 5 美元. ...

  6. LeetCode 860. 柠檬水找零(贪心)

    1. 题目 在柠檬水摊上,每一杯柠檬水的售价为 5 美元. 顾客排队购买你的产品,(按账单 bills 支付的顺序)一次购买一杯. 每位顾客只买一杯柠檬水,然后向你付 5 美元.10 美元或 20 美 ...

  7. LeetCode 860. 柠檬水找零 做题小结

    题目 在柠檬水摊上,每一杯柠檬水的售价为 5 美元.顾客排队购买你的产品,(按账单 bills 支付的顺序)一次购买一杯.每位顾客只买一杯柠檬水,然后向你付 5 美元.10 美元或 20 美元.你必须 ...

  8. LeetCode 860.柠檬水找零(C++)

    在柠檬水摊上,每一杯柠檬水的售价为 5 美元. 顾客排队购买你的产品,(按账单 bills 支付的顺序)一次购买一杯. 每位顾客只买一杯柠檬水,然后向你付 5 美元.10 美元或 20 美元.你必须给 ...

  9. leetcode 860. 柠檬水找零(贪心算法)

    在柠檬水摊上,每一杯柠檬水的售价为 5 美元. 顾客排队购买你的产品,(按账单 bills 支付的顺序)一次购买一杯. 每位顾客只买一杯柠檬水,然后向你付 5 美元.10 美元或 20 美元.你必须给 ...

  10. Leetcode——860.柠檬水找零——题解—+代码实现

    一.题目 在柠檬水摊上,每一杯柠檬水的售价为 5 美元. 顾客排队购买你的产品,(按账单 bills 支付的顺序)一次购买一杯. 每位顾客只买一杯柠檬水,然后向你付 5 美元.10 美元或 20 美元 ...

最新文章

  1. 面向动态环境基于点的语义SLAM系统
  2. node+express+MongoDB实现小商城服务端
  3. Gtk-WARNING**:无法在模块路径中找到主题引擎:“pixmap”的解决
  4. 国家自然基金标书申报体会
  5. java多线程绘图_菜鸟学Java之 Java2D 多线程绘图
  6. 华为路由器命令手册_华为路由器+蒲公英路由器,如何做双层路由器映射?
  7. 再说409,又提离别痛
  8. python中时间的处理
  9. TensorFlow发布语音识别入门教程,附1GB数据集代码
  10. 第十二课:实验二 循环链表实验
  11. win7查看隐藏文件_win7系统如何隐藏文件 win7系统隐藏文件步骤【介绍】
  12. 鸿蒙系统和全屋智能,不断升级“常用常新” 搭载鸿蒙系统的全屋智能有多酷?...
  13. 聚焦“数字中国” | 以“云智原生”为基石,激发数字化创新红利
  14. 上交所几大业务平台简介
  15. 腾讯视频格式如何转换成mp4 将下载的qlv文件转换成mp4的方法
  16. R语言地理加权回归数据分析
  17. Cisco AP-胖瘦AP的转换
  18. 元宵节动画贺卡制作_2016猴年动画版元宵节flash贺卡(2份)
  19. java微信公众号开发教程_微信公众平台开发教程(java版本含代码) 中文PDF版 3.13MB...
  20. 程序员在创业项目中能做些什么

热门文章

  1. 省选专练APIO2012派遣
  2. 魔兽难受 网易受夹
  3. 高德地图多个经纬度定位显示定时刷新
  4. Glide 4.11主线源码解析
  5. 已停止访问该网页怎么解决?
  6. js模拟触发touchstart
  7. windows绝对纯净版安装 非Ghost 详细教程!
  8. 浅谈计算机辅助数学教学论文,论文浅谈对计算机辅助数学教学的认识精选.doc...
  9. unity设置字体大小
  10. 火星人敏捷开发手册视频培训上线了!