需要注意的是,遇到20,我们更愿意做出更少的改变,即优先找10和5,如果没有再考虑找3张5.
class Solution(object):
def lemonadeChange(self, bills):
"""
:type bills: List[int]
:rtype: bool
"""
five = 0
ten = 0
if len(bills) == 0:
return True
for i in range(len(bills)):
if bills[i] == 5:
five += 1
elif bills[i] == 10:
if five > 0:
five = five - 1
ten += 1
else:
return False
else:
if five > 0 and ten > 0:
five = five - 1
ten = ten - 1
elif five > 2:
five = five - 3
else:
return False
return True