力扣860 柠檬水找零

132 阅读1分钟
class Solution {
public:
    bool lemonadeChange(vector<int>& bills) {
int five=0;int ten=0;int twenty=0;
for(int i=0;i<bills.size();i++)
{
if(bills[i]==5)  {five++;}
if(bills[i]==10)
{
    if(five==0) return false;
    else {five--;ten++;}
}
if(bills[i]==20)
{
if(ten>0&&five>0) {ten--;five--;}
else if(five>=3){five-=3;}
else return false;
}

}
return true;
    }
};

是个简单的贪心 付20的时候 要优先先找10块+5块 再考虑找3张5块