题目:
我的解法:
class Solution {
public boolean lemonadeChange(int[] bills) {
int[] money = new int[2];
for(int bill: bills){
if(bill==5){ // 如果给的5块,不用找
money[0]++;
}else if(bill==10){ // 如果给的10块,只能找5块
if(money[0]>0){
money[0]--;
money[1]++;
}else{
return false;
}
}else{ // 如果给的20块,优先找10+5的组合;如果没有10,再找5+5+5
if(money[0]>0 && money[1]>0){
money[0]--;
money[1]--;
}else if(money[0]>2 && money[1]==0){
money[0]-=3;
}else{
return false;
}
}
}
return true;
}
}
官方题解: