網頁

2024年8月15日 星期四

python C++ Greedy速解找零問題Leetcode 860 Lemonade Change


python C++ Greedy速解找零問題Leetcode 860  Lemonade Change
b=20時貪婪演算法保持檢查順序,先找十塊,不要改變檢查順序,否則不起作用
[python解請進]
-----
When b=20, the greedy algorithm maintains the checking order. Give back $10 first, and do not change the checking order, otherwise it will not work.

class Solution:
    def lemonadeChange(self, bills: List[int]) -> bool:
        cnt5, cnt10=0, 0
        for b in bills:
            if b==5: cnt5+=1
            elif b==10:
                if cnt5>0:
                    cnt5-=1
                    cnt10+=1
                else:
                    return False
            else:
                if cnt10>0 and cnt5>0:
                    cnt10-=1
                    cnt5-=1
                elif cnt5>2: cnt5-=3
                else: return False
        return True
        

沒有留言:

張貼留言

HTML 編輯器