没看答案,直接按题意分情况讨论即可。
from collections import defaultdict
class Solution:
def lemonadeChange(self, bills: List[int]) -> bool:
cash = defaultdict(int)
for csh in bills:
cash[csh] += 1
if csh == 10:
if cash[5] < 1:
return False
cash[5] -= 1
elif csh == 20:
if cash[10] >= 1 and cash[5] >= 1:
cash[10] -= 1
cash[5] -= 1
elif cash[5] >= 3:
cash[5] -= 3
else:
return False
return True