【算法】贪心算法——柠檬水找零

题解:柠檬水找零(贪心算法)

目录

  • 1.题目
  • 2.题解
  • 3.参考代码
  • 4.证明
  • 5.总结

1.题目

题目链接:LINK
【算法】贪心算法——柠檬水找零_第1张图片

2.题解

分情况讨论 + 贪心算法

  • 当顾客为5元时,收下
  • 当顾客为10元时,收下10元并找回5元
  • 当顾客为20元时,收下20元并找回10+5元或者5+5+5元

这里仅20元时候找钱会有分歧,所以这里我们用贪心算法,即优先留下尽可能多的5元,尽快把10元扔出去。

原因:5元是“万金油”,既可以给10元找零,也可以给20元找零,但是10元就不能给10元找零。

3.参考代码

class Solution {
   
   
public:
    bool lemonadeChange(vector<int>& bills) {
   
   

你可能感兴趣的:(【算法】贪心算法——柠檬水找零)