class Solution:
def lemonadeChange(self, bills: List[int]) -> bool:
if bills[0]==10 or bills[0]==20:
return False
cnt5=0
cnt10=0
cnt20=0
for i in range(len(bills)):
if bills[i]==5:
cnt5+=1
if bills[i]==10:
cnt5-=1
cnt10+=1
if cnt5<0:
return False
if bills[i]==20:
if cnt10>0:
cnt5-=1
cnt10-=1
if cnt5<0:
return False
elif cnt10==0:
cnt5-=3
if cnt5<0:
return False
return True
'''贪心算法,10块钱只能用5块找,如果5块用光了,False。
20块的首先先用10和5去找,如果10块的找光了,或者没有10块的,就用5块的去找,如果5块的个数小于0,False'''
class Solution:
def lemonadeChange(self, bills: List[int]) -> bool:
if bills[0]==10 or bills[0]==20:
return False
cnt5=0
cnt10=0
for i in range(len(bills)):
if bills[i]==5:
cnt5+=1
if bills[i]==10:
cnt5-=1
cnt10+=1
if cnt5<0:
return False
if bills[i]==20:
if cnt10>0:
cnt10-=1
cnt5-=1
elif cnt10==0:
cnt5-=3
if cnt10<0 or cnt5<0:
return False
return True