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;
    }
};
相关推荐
乌鸦94426 分钟前
《STL--stack 和 queue 的使用及其底层实现》
开发语言·c++·priority_queue·适配器stack、queue
独家回忆36428 分钟前
每日算法-250531
算法
@我漫长的孤独流浪30 分钟前
数据结构测试模拟题(2)
数据结构·c++·算法
黑牛先生40 分钟前
【数据结构】图的存储(邻接矩阵与邻接表)
数据结构
秋难降1 小时前
贪心算法:看似精明的 “短视选手”,用好了也能逆袭!💥
java·算法
xtmatao1 小时前
WIN11+VSCODE搭建c/c++开发环境
c语言·c++·vscode
没故事的燕同学1 小时前
C++递推
算法
一只自律的鸡1 小时前
STL之vector
开发语言·c++·算法
岁忧2 小时前
LeetCode 高频 SQL 50 题(基础版)之 【聚合函数】部分
数据库·sql·leetcode