题目:860. 柠檬水找零
思路
贪心
本题提示你了收钱只有3种:5,10,20
;
代码
// 贪心法
class Solution {
public:
bool lemonadeChange(vector<int>& bills) {
int i;
int dollar5 = 0, dollar10 = 0, dollar20 = 0;
for(i = 0; i < bills.size(); i++)
{
if(bills[i] == 5)
{
dollar5++;
}
else if(bills[i] == 10)
{
if(dollar5 > 0)
{
dollar5--;
dollar10++;
}
else
{
return false;
}
}
else
{
if(dollar10 > 0 && dollar5 > 0)
{
dollar10--;
dollar5--;
dollar20++;
}
else if(dollar5 >= 3)
{
dollar5 = dollar5 - 3;
dollar20++;
}
else
{
return false;
}
}
}
return true;
}
};