leetcode 860. 柠檬水找零

2023.8.1

简单的一个思路就是建一个大小为3的数组change ,用于存储剩余的零钱,然后遍历账单,每次找零钱的时候判断一下是否有足够的零钱,不够的话直接返回false。 能坚持到结束遍历则返回true。 代码如下:

cpp 复制代码
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;
    }
};
相关推荐
tan77º16 分钟前
【Linux网络编程】应用层自定义协议与序列化
linux·运维·服务器·网络·c++·tcp/ip
悠哉清闲44 分钟前
Android Studio C++/JNI/Kotlin 示例 三
c++·kotlin·android studio
AI迅剑1 小时前
模块三:现代C++工程实践(4篇)第二篇《性能调优:Profile驱动优化与汇编级分析》
汇编·c++
凌肖战1 小时前
力扣网编程135题:分发糖果(贪心算法)
算法·leetcode
Tony沈哲2 小时前
OpenCV 图像调色优化实录:从 forEach 到并行 + LUT 提速之路
opencv·算法
遇见尚硅谷2 小时前
C语言:20250714笔记
c语言·开发语言·数据结构·笔记·算法
byte轻骑兵2 小时前
【Bluedroid】蓝牙协议栈enable流程深度解析
android·c++·bluedroid
Norvyn_73 小时前
LeetCode|Day11|557. 反转字符串中的单词 III|Python刷题笔记
笔记·python·leetcode
chao_7893 小时前
动态规划题解_零钱兑换【LeetCode】
python·算法·leetcode·动态规划
吃着火锅x唱着歌3 小时前
LeetCode 424.替换后的最长重复字符
linux·算法·leetcode