原题目:https://leetcode-cn.com/problems/lemonade-change/
思路:
因为只有5/10/20三种情况,我们可以对三种情况分别进行判断。
我们使用five和ten记录5块和10块的张数,用于找零钱
代码:
class Solution {
public:
bool lemonadeChange(vector<int>& bills) {
int five=0,ten=0;
for(int i:bills){
if(i==5){
five ++ ;
}
else if(i==10){
if(five == 0) return false;
five--;ten++;
}
else{
if(five>0 && ten > 0){
five--;ten--;
}
else if(five>=3){
five -= 3;
}
else return false;
}
}
return true;
}
};
本文详细解析了LeetCode上的柠檬水找零问题,通过使用C++实现,介绍了一种有效的算法来判断在特定条件下是否能成功找零。关键在于跟踪5元和10元钞票的数量,以确保在顾客支付20元时能够正确找零。
432

被折叠的 条评论
为什么被折叠?



