内蒙古建设厅建筑网站,国内优秀包装设计作品赏析,购物网站ppt怎么做,迈步者seo在柠檬水摊上#xff0c;每一杯柠檬水的售价为 5 美元。顾客排队购买你的产品#xff0c;#xff08;按账单 bills 支付的顺序#xff09;一次购买一杯。
每位顾客只买一杯柠檬水#xff0c;然后向你付 5 美元、10 美元或 20 美元。你必须给每个顾客正确找零#xff0c;…在柠檬水摊上每一杯柠檬水的售价为 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 105bills[i] 不是 5 就是 10 或是 20
class Solution {
public:bool lemonadeChange(vectorint bills) {//5//10//20 105 555int five 0,ten 0;for(int i 0;i bills.size();i){if(bills[i] 5){five;}else if(bills[i] 10){if(five 1) return false; //没有五块 必死ten; //收获10five--; //补出去5}else{//贪心 先给105if(ten 1 five 1){ // 10 5ten--;five--;} else if(ten 1 five 3){ // 5 5 5five - 3;}else return false;}}return true;}
};