一、柠檬水找零
1. 题目解析
1. 题意翻译:每名顾客只能按顺序买你的柠檬水,给的钱数也是按顺序。柠檬水固定 5 元,要求就是给每名顾客都能正确找零。
2. 注意点
- 一开始你没有任何钱,所以如果顾客一上来给的不是 5 元的面额,直接返回 false。
- 先考虑当前顾客能否正常找零,不能的话直接返回 false,不继续考虑后面。
- 顾客给你的面额只有三种:5, 10, 20。
2. 算法原理

3. 代码
class Solution {
int[] change;
public boolean lemonadeChange(int[] bills) {
if (bills[0] != 5) {
return false;
}
change = new int[2];
for (int i = 0; i < bills.length; i++) {
if (bills[i] == 5) {
change[0]++;
} else if (bills[i] == 10) {
if (change[0] != 0) {
change[0]--;
change[1]++;
} else {
return false;
}
} {
(change[] != && change[] != ) {
change[]--;
change[]--;
} (change[] >= ) {
change[] -= ;
} {
;
}
}
}
;
}
}



