题目:跳转至 860. 柠檬水找零
在柠檬水摊上,每一杯柠檬水的售价为 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
class Solution {public:bool lemonadeChange(vector<int>& bills) {}
};

思路:
首先很明显,因为最开始没有零钱,第一个数不是5就可以直接over了,排除一个错误选项后再慢慢审题。
一顿操作猛如虎,提交记录连着错。要正确找零而不是总数够就行,各种列举条件,收取20就判断能否找零10+5或者5+5+5(尽量先把较大的10花出去,因为10能等同于5+5,但是5不能当10来找零给别人),收取15就判断能否找零10或者5+5(题目中没提到15,不要擅自给自己加戏啊) ,收取10就判断能否找零5,收取5不做判断。
看了题解,归纳的比我简便,差不离差不离。看了方法名称右贪心还挺意外的,应该就是先撸较大值10吧。

class Solution {public:bool lemonadeChange(vector<int>& bills) {int change=0;int fiveCount=0;int tenCount=0;for(auto &x:bills){change=change+(x-5);if(change<0)return false;if(x==20 && tenCount>=1 && fiveCount>=1){--tenCount;--fiveCount;}else if(x==20 && fiveCount>=3)fiveCount-=3;else if(x==10 && fiveCount>=1)--fiveCount;else if(x==5);elsereturn false;change+=5;if(x==5)++fiveCount;if(x==10)++tenCount;}return true;}
};

LeetCode每日一题--860. 柠檬水找零(贪心)相关推荐

  1. Leetcode 每日一题——860. 柠檬水找零

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

  2. 刷题-Leetcode-860. 柠檬水找零(贪心)

    860. 柠檬水找零 题目链接 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/lemonade-change/ 著作权归领扣网络所有.商业转载 ...

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

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

  4. Leetcode 860. 柠檬水找零(贪心) 记录反思

    有的时候就应该找点简单题目提升一下自己的驱动力 有三种情况 情况一:账单是5,直接收下. 情况二:账单是10,消耗一个5,增加一个10 情况三:账单是20,优先消耗一个10和一个5,否则,消耗三个5 ...

  5. 150. Leetcode 860. 柠檬水找零 (贪心算法-基础题目)

    有如下三种情况: •情况一:账单是5,直接收下. •情况二:账单是10,消耗一个5,增加一个10 •情况三:账单是20,优先消耗一个10和一个5,如果不够,再消耗三个 5 class Solution ...

  6. 【LeetCode】两道贪心算法题目-455分发饼干,860柠檬水找零

    文章目录 第455题:分发饼干 第860题:柠檬水找零 第455题:分发饼干 题目描述 假设你是一位很棒的家长,想要给你的孩子们一些小饼干.但是,每个孩子最多只能给一块饼干.对每个孩子 i ,都有一个 ...

  7. leetcode: 860. 柠檬水找零

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

  8. leetcode.860. 柠檬水找零

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

  9. 代码随想录35——贪心:860柠檬水找零、406根据身高重建队列、452用最少数量的箭引爆气球

    文章目录 1.860柠檬水找零 1.1.题目 1.2.解答 2.406根据身高重建队列 2.1.题目 2.2.解答 3.452用最少数量的箭引爆气球 3.1.题目 3.2.解答 1.860柠檬水找零 ...

最新文章

  1. AAAI2020 | SNERL:抛开mention级别的监督,实体链接、关系抽取我都行
  2. jQuery的自定义动画
  3. 浅谈线程池(下):相关试验及注意事项
  4. 合成小丹(dp+二进制按位或+结论)
  5. VMware卸载有残留,再安装时报错提示MSI Failed
  6. 将visio的图片插入latex(png格式转换成eps格式图片)
  7. IE(=8)版本不支持getElementsByClassName()
  8. Angular 2 之七 依赖注入
  9. Shell中的变量替换
  10. Centos 6.3下使用源码安装Mysql 5.5
  11. CSDN资源分享分红2元,哈哈
  12. 版本管理工具git的使用总结
  13. 怎么用几何画板画底数a在变化的指数函数图像
  14. 图片转cad用什么软件?转换有技巧
  15. 运筹学基础【三】 之 决策
  16. 将字符串的一部分拷贝到另一个字符串
  17. 【Books系列】2021年:蔡崇达《皮囊》读书笔记
  18. 打造数字孪生社区,极视角助力成都市成华区杉板桥社区智能感知体系建设
  19. Redis 的 漏斗限流
  20. Nginx虚拟目录设置

热门文章

  1. 苏强SN系列服务器说明书,SN2000交流伺服驱动器使用手册.pdf
  2. 中国历代大大小小的皇帝(2)
  3. 简单的微服务feign之间调用授权/安全验证
  4. 苹果手机通话声音小怎么调_通话音量小怎么办?教你安卓和苹果的解决教程,只需2步...
  5. elisa数据处理过程图解_(完整版)ELISA原理和分类(附图解)
  6. ORAN C平面 Section Extension 2
  7. 大胆预测,2019年最佳外置硬盘和便携式SSD非这四款莫属!
  8. 我理解的国密知识与加密过程
  9. android高仿微信表情输入与键盘输入详解-解决跳闪与表情切换问题
  10. YOLOv4论文解读