在檸檬水攤上,每一杯檸檬水的售價為 5 美元。顧客排隊購買你的產品,(按賬單 bills 支付的順序)一次購買一杯。
每位顧客只買一杯檸檬水,然後向你付 5 美元、10 美元或 20 美元。
你必須給每個顧客正確找零,也就是說淨交易是每位顧客向你支付 5 美元。
注意,一開始你手頭沒有任何零錢。
給你一個整數數組 bills ,其中 bills[i] 是第 i 位顧客付的賬。如果你能給每位顧客正確找零,返回 true ,否則返回 false 。
(1)先計算找零的錢change
(2)先找零10塊的,直到沒有10塊錢,再找5塊的
(3)最後把收到的錢,記個數
def lemonadeChange(self, bills: List[int]) -> bool:
twity,ten,five = 0,0,0
for i in range(len(bills)):
change = bills[i]-5
while(change>=10 and ten>0) :
change -=10
ten -=1
while(change>=5 and five>0) :
change -=5
five -=1
if change>0:return False
if bills[i]==20: twity+=1
elif bills[i]==10:ten+=1
else: five +=1
return True