一、贪心算法
题目:柠檬水找零
题目难度:简单
解题思路:贪心算法
1.假设满足,分情况:
- 如果收顾客5美元,不用找,5美元钱币增加一张
- 如果收顾客10美元,需要找顾客5美元,5美元减少一张
- 如果收顾客20美元,需要找顾客一张10美元一张5美元,如果10美元不够,那么需要3张五美元
2.如果发现5美元不够,说明不能满足
3.优化:无
python实现:
class Solution:
def lemonadeChange(self, bills: List[int]) -> bool:
a,b=0,0
for i in range(len(bills)):
if bills[i]==5:
a+=1
elif bills[i]==10:
b+=1
a-=1
else:
if b==0:
a-=2
else:
b-=1
a-=1
if a<0:
return False
return True
PS:作为一个web开发者,最近开始肝一波这个,错误之处,欢迎指正!