Problem: 860. 柠檬水找零
思路
简单的模拟和计数
解题方法
take it easy~
Code
class Solution {
public boolean lemonadeChange(int[] bills) {
int n = bills.length;
int[] cnt = new int[3];
for (int i = 0; i < n; i++) {
int cost = bills[i];
if (cost == 5) {
cnt[0]++;
}
else if (cost == 10) {
cnt[1]++;
if (cnt[0] == 0) return false;
cnt[0]--;
}
else {
cnt[2]++;
if (cnt[1] > 0 && cnt[0] > 0) {
cnt[1]--;
cnt[0]--;
}
else if (cnt[0] > 2) {
cnt[0] -= 3;
}
else return false;
}
}
return true;
}
}