因为只有5 10 20三种面值
class Solution {
public:
bool lemonadeChange(vector<int>& bills) {
int five=0,ten=0,twenty=0;
for(int bill:bills)
{
//遇到5元就收入
if(bill==5)five++;
//遇到10元要用5元来找零
if(bill==10)
{
if(five<=0)return false;
ten++;
five--;
}
if(bill==20)//遇到20有两种情况
{
//第一种情况用一张5元和一张10元找零
if(five>0&&ten>0)
{
five--;
ten--;
twenty++;
}
//用3张5元找零
else if(five>=3)
{
five-=3;
twenty++;
}
else return false;
}
}
return true;
}
};