
需要注意的是,遇到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
本文深入探讨了在柠檬水摊位找零问题中的一种高效算法实现。通过具体案例,讲解了如何使用有限的5元和10元钞票为顾客找零20元的过程,重点在于算法的逻辑判断和条件分支设计。

被折叠的 条评论
为什么被折叠?



