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;
    }
};
相关推荐
插件开发11 分钟前
vs2015 cuda c++ 线程号的计算详解
开发语言·c++·算法
有点。11 分钟前
C++(前缀和与差分)
c++·算法
c++之路16 分钟前
Bazel C++ 构建系列文档(五):多目标与多包项目
java·开发语言·c++
Hello:CodeWorld21 分钟前
【C++ 避坑指南】告别缓冲区溢出!全面解析 std::snprintf 的安全美学与核心陷阱
开发语言·c++·安全
凡人叶枫23 分钟前
Effective C++ 条款38:通过复合塑模出 has-a 或 \“根据某物实现出\
linux·开发语言·c++·windows
凡人叶枫40 分钟前
Effective C++ 条款40:明智而审慎地使用多重继承
java·数据库·c++·嵌入式开发·effective c++
仍然.1 小时前
算法题目---BFS解决最短路问题
算法·宽度优先
ShineWinsu1 小时前
对于Linux:线程局部存储(TLS)和线程封装的解析
linux·c++·面试·线程·tls·线程封装·线程局部存储
工头阿乐1 小时前
使用Conan构建现代C++项目:完整指南
开发语言·c++
渡众机器人1 小时前
第八届全球校园人工智能算法精英大赛-算法应用赛-空地协同侦排挑战赛规则
人工智能·算法