文章目录
Leetcode860
1.问题描述
2.解决方案
没什么好说的,分情况加一点点贪心就好了,代码实现也蛮简单!
class Solution {
public:
bool lemonadeChange(vector<int>& bills) {
unordered_map<int,int> unorderedMap{
{5,0},
{10,0},
{20,0}
};
for (auto item: bills) {
if(unorderedMap[5]<0||unorderedMap[10]<0) return false;
if(item==5) unorderedMap[5]++;
if(item==10){
unorderedMap[10]++;
unorderedMap[5]--;
}
if(item==20){
//10+5
if(unorderedMap[10]>=1&&unorderedMap[5]>=1){
unorderedMap[10]--;
unorderedMap[5]--;
}
//5+5+5
else unorderedMap[5]-=3;
}
}
if(unorderedMap[5]<0||unorderedMap[10]<0) return false;
else return true;
//return true;
}
};