专业制作开发公司网站,wordpress取消副标题,组建网站建设团队,长沙 网页制作这道题就是纯贪心算法题#xff0c;遍历每个顾客#xff0c;先把钱收了#xff0c;如果是10块钱就判断手里头有没有5元用于找零#xff1b;如果是20块钱#xff0c;先判断是不是有10元5元#xff0c;如果没有就再判断是否有3个5元。没有的话就直接返回 False。(完整题目附…这道题就是纯贪心算法题遍历每个顾客先把钱收了如果是10块钱就判断手里头有没有5元用于找零如果是20块钱先判断是不是有10元5元如果没有就再判断是否有3个5元。没有的话就直接返回 False。(完整题目附在了最后面) 代码如下
class Solution(object):def lemonadeChange(self, bills):if bills[0] 5:return Falsechanges {5: 0, 10: 0, 20: 0}for bill in bills:changes[bill] 1if bill 10:if changes[5] ! 0:changes[5] - 1else:return Falseif bill 20:if changes[10] ! 0 and changes[5] ! 0:changes[10] - 1changes[5] - 1elif changes[5] 3:changes[5] - 3else:return Falsereturn True
完整题目 860. 柠檬水找零
在柠檬水摊上每一杯柠檬水的售价为 5 美元。顾客排队购买你的产品按账单 bills 支付的顺序一次购买一杯。
每位顾客只买一杯柠檬水然后向你付 5 美元、10 美元或 20 美元。你必须给每个顾客正确找零也就是说净交易是每位顾客向你支付 5 美元。
注意一开始你手头没有任何零钱。
给你一个整数数组 bills 其中 bills[i] 是第 i 位顾客付的账。如果你能给每位顾客正确找零返回 true 否则返回 false 。 示例 1
输入bills [5,5,5,10,20]
输出true
解释
前 3 位顾客那里我们按顺序收取 3 张 5 美元的钞票。
第 4 位顾客那里我们收取一张 10 美元的钞票并返还 5 美元。
第 5 位顾客那里我们找还一张 10 美元的钞票和一张 5 美元的钞票。
由于所有客户都得到了正确的找零所以我们输出 true。示例 2
输入bills [5,5,10,10,20]
输出false
解释
前 2 位顾客那里我们按顺序收取 2 张 5 美元的钞票。
对于接下来的 2 位顾客我们收取一张 10 美元的钞票然后返还 5 美元。
对于最后一位顾客我们无法退回 15 美元因为我们现在只有两张 10 美元的钞票。
由于不是每位顾客都得到了正确的找零所以答案是 false。
提示
1 bills.length 10^5bills[i] 不是 5 就是 10 或是 20