ok
看题:
很简单,就像在做数学题一样,注意逻辑判断就可以了。
代码:
class Solution {
public:
bool lemonadeChange(vector<int>& bills) {
int x,y=0;//初始化,5元和10元的数量
for(int i=0;i<bills.size();i++){
if(bills[i]==5)//有5元的就加
x++;
else if(bills[i]==10){//有10元就判断
if(x==0){//如果没有5元的,就没办法找钱
return false;
}
y++;//否则收钱
x--;//找钱
}
else{
if(x>0&&y>0){//如果是20.就有两种情况,一种用5元和10元找钱,一种只用5元找钱
x--;
y--;
}
else if(x-3>=0)
x=x-3;
else
return false;
}
}
return true;
}
};
ok