2023.8.1
简单的一个思路就是建一个大小为3的数组change ,用于存储剩余的零钱,然后遍历账单,每次找零钱的时候判断一下是否有足够的零钱,不够的话直接返回false。 能坚持到结束遍历则返回true。 代码如下:
class Solution {
public:
bool lemonadeChange(vector<int>& bills) {
int change[2] = {0};
for(int i=0; i<bills.size(); i++)
{
if(bills[i] == 5)
{
change[0]++;
}
else if(bills[i] == 10)
{
if(change[0])
{
change[0]--;
change[1]++;
}
else return false;
}
else
{
if(change[0] && change[1])
{
change[0]--;
change[1]--;
}
else if(change[0] >= 3)
{
change[0] -= 3;
}
else return false;
}
}
return true;
}
};