- 题目自己想完全有点无着边
- 听老师讲解又感觉太简单,主要做题功力不足,手中无题,心中也无题
- 这其中使用的贪心策略就是如果有20要找零时,优先使用10元面值来找零
#include <iostream>
#include <vector>
class Solution {
public:
bool lemonadeChange(std::vector<int>& bills) {
int five = 0, ten = 0;
for(int bill: bills) {
if (bill == 5)
++five;
else if (bill == 10) {
if (five == 0)
return false;
++ten;
--five;
} else if (bill == 20) {
if (ten > 0 && five > 0) {
--ten;
--five;
} else if (five > 2)
five -= 3;
else
return false;
}
}
return true;
}
};
int main()
{
std::vector<int> bills {5, 5, 10, 10, 20};
Solution s;
std::cout << s.lemonadeChange(bills) << std::endl;
return 0;
}