class Solution {
public:
bool lemonadeChange(vector<int>& bills) {
int five=0,ten=0,twenty=0;
for(int i=0;i<bills.size();i++){
if(bills[i]==5) five++;
else if(bills[i]==10){
five--;
ten++;
}
else if(bills[i]==20) {
if(ten>0){
five--;
ten--;
}else five-=3;
}
if(five<0) return false;
}
return true;
}
};
由于只有三种情况,所以用if else枚举就能解答,首先给5,five就++,给10,ten就加加,five就--,给20就两种情况,有ten,ten--,five--,没ten,five-=3,最后循环内判断five是否小于0,小于0了就返回false,全部遍历完了就返回true