题目:
解题思路:
可能面临3种面额,
- 5美元,不找还,5美元钞票数量加1
- 10美元,找还5美元,5美元钞票数量减1,10美元钞票加1
- 20美元,找还15美元,分为一张10美元 + 一张5美元 和三张5美元两种找还方式,优先选择后一种,以方便后面找还。
class Solution {
public boolean lemonadeChange(int[] bills) {
int[] money = new int[2];
for (int bill : bills) {
if (bill == 5) {
money[0]++;
}
else if (bill == 10) {
money[1]++;
if (money[0] > 0) {
money[0]--;
}
else return false;
}
else {
if (money[0] > 0 && money[1] > 0) {
money[0]--;
money[1]--;
}
else if (money[0] > 2) {
money[0] -= 3;
}
else return false;
}
}
return true;
}
}