方法:计数
class Solution {
public boolean lemonadeChange(int[] bills) {
int[] counter = new int[21];
for (int bill : bills) {
counter[bill]++;
if (bill == 10) {
if (counter[5] < 1) return false;
counter[5]--;
} else if (bill == 20) {
if (counter[10] < 1) {
if (counter[5] < 3) return false;
counter[5] -= 3;
} else {
if (counter[5] < 1) return false;
counter[10]--;
counter[5]--;
}
}
}
return true;
}
class Solution {
public boolean lemonadeChange(int[] bills) {
int five = 0, ten = 0;
for (int bill : bills) {
if (bill == 5) {
five++;
} else if (bill == 10) {
if (five < 1) return false;
five--;
ten++;
} else {
if (ten >= 1) {
if (five < 1) return false;
ten--;
five--;
} else {
if (five < 3) return false;
five -= 3;
}
}
}
return true;
}
}