每日一题20201210(860. 柠檬水找零)

简介: 柠檬水找零分析

860. 柠檬水找零

2.jpg

image-20201210110411396

思路



模拟就行
现在假设你是小卖部老板,那么你来一张5块,你就收下,来一张10块,你的5块就-1,十块+1.
如果来的是20的,当你没有10块的时候,你就5块-3,当你有10块,你就10块-1并且5块-1


class Solution:
    def lemonadeChange(self, bills: List[int]) -> bool:
        # 由于找零只关心5块和10块的数量,并不关心20的数量,所以只定义2个变量
        # 分别是f表示还有多少5块钱,t表示还有多少10块钱
        f, t = 0, 0
        for b in bills:
            if b == 5:
                # 如果是5块,直接+1,因为不需要找零
                f += 1
            elif b == 10:
                # 来了张10块 没有5块找,直接return False(找不开)
                if f == 0:
                    return False
                # 否则5块-1 10块+1
                f -= 1
                t += 1
            else:
                # 没有10块直接找3个5块,如果没有3个5块,说明找不开
                if t == 0:
                    if f < 3:
                        return False
                    f -= 3
                else:
                    t -= 1
                    # 有10块没有5块,也直接算找不开
                    if f == 0:
                        return False
                    f -= 1
        return True




相关文章
|
7月前
【每日一题Day273】LC860柠檬水找零 | 贪心
【每日一题Day273】LC860柠檬水找零 | 贪心
43 0
【每日一题Day273】LC860柠檬水找零 | 贪心
|
2月前
|
算法
AcWing 1343. 挤牛奶(每日一题)
AcWing 1343. 挤牛奶(每日一题)
|
2月前
|
存储
(剑指Offer)10、菲波那切数列I—10、青蛙跳台阶问题II—63、股票的最大利润(2021/12/04)
(剑指Offer)10、菲波那切数列I—10、青蛙跳台阶问题II—63、股票的最大利润(2021/12/04)
33 0
|
2月前
|
算法
AcWing 1355. 母亲的牛奶(每日一题)
AcWing 1355. 母亲的牛奶(每日一题)
|
7月前
|
算法
【贪心算法】|860.柠檬水找零
【贪心算法】|860.柠檬水找零
|
7月前
代码随想录 Day38 完全背包问题 LeetCode T70 爬楼梯 T322 零钱兑换 T279 完全平方数
代码随想录 Day38 完全背包问题 LeetCode T70 爬楼梯 T322 零钱兑换 T279 完全平方数
41 0
|
7月前
代码随想录Day29 贪心04 LeetCode T860 柠檬水找零 T406 根据身高重建队列 T452 用最少得箭引爆气球
代码随想录Day29 贪心04 LeetCode T860 柠檬水找零 T406 根据身高重建队列 T452 用最少得箭引爆气球
46 0
|
7月前
|
Java
leetcode-860:柠檬水找零
leetcode-860:柠檬水找零
62 0
|
7月前
|
算法
六六力扣刷题贪心算法之柠檬水找零
六六力扣刷题贪心算法之柠檬水找零
72 0
|
7月前
|
存储 算法 程序员
【算法训练-动态规划 一】【应用DP问题】零钱兑换、爬楼梯、买卖股票的最佳时机I、打家劫舍
【算法训练-动态规划 一】【应用DP问题】零钱兑换、爬楼梯、买卖股票的最佳时机I、打家劫舍
141 0