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
沒有留言:
張貼留言