zoukankan      html  css  js  c++  java
  • 每日一题20201210(860. 柠檬水找零)

    860. 柠檬水找零

    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
    
  • 相关阅读:
    JDK6的switch支持不是很好
    团队作业(2)
    团队作业(1)
    4月30日
    重构:改善既有代码的设计有感
    4月28日
    4月27日
    4月26日
    4月25日
    4月24日
  • 原文地址:https://www.cnblogs.com/we8fans/p/14113201.html
Copyright © 2011-2022 走看看