算法记录
LeetCode 题目:
在柠檬水摊上,每一杯柠檬水的售价为 5 美元。顾客排队购买你的产品,(按账单 bills 支付的顺序)一次购买一杯。
思路
说明
一、题目
每位顾客只买一杯柠檬水,然后向你付 5 美元、10 美元或 20 美元。你必须给每个顾客正确找零,也就是说净交易是每位顾客向你支付 5 美元。
注意,一开始你手头没有任何零钱。
给你一个整数数组 bills ,其中 bills[i] 是第 i 位顾客付的账。如果你能给每位顾客正确找零,返回 true ,否则返回 false 。
二、分析
- 就是一个简单的逻辑问题,将所有的结果列一下。
- 按照规则返回数据即可。
class Solution {
public boolean lemonadeChange(int[] bills) {
int five = 0;
int ten = 0;
for(int i : bills) {
if(i == 5) five++;
if(i == 10)
if(five > 0) {
five-- ; ten++;
}
else return false;
if(i == 20)
if(five > 0 && ten > 0) {
five-- ; ten--;
}
else if(five > 3) five -= 3;
else return false;
}
return true;
}
}
总结
能理清题目即可。