柠檬水找零【贪心1】

由于是贪心算法的第一道题,所以先介绍一下贪心算法。

贪心策略:一种解决问题的策略,局部最优->全局最优。(贪婪+鼠目寸光)

1、把解决问题的过程分为若干步

2、解决每一步时,都选择当前看起来最优的解法。

3、"希望"得到全局最优解。

特点:

没有模版,只能是积累经验,心态放平。

贪心算法的正确性需要证明。

柠檬水找零

题目

代码

cpp 复制代码
class Solution {
public:
    bool lemonadeChange(vector<int>& bills) {
        int n = bills.size();
        int five_nums = 0,ten_nums = 0;
        for(int i = 0;i < n;i++){
            if(bills[i] == 5)
            {
                five_nums++;
            }
            else if(bills[i] == 10)
            {
                if(five_nums == 0) return false;
                five_nums--;
                ten_nums++;
            }
            else
            {
                if(ten_nums && five_nums)
                {
                    ten_nums--;
                    five_nums--;
                }
                else if(five_nums >= 3)
                {
                    five_nums -= 3;
                }
                else return false;
            }
        }
        return true;
    }
};

证明

相关推荐
鱼很腾apoc39 分钟前
【学习篇】第20期 超详解 C++ 多态:从语法规则到底层原理
java·c语言·开发语言·c++·学习·算法·青少年编程
小许同学记录成长2 小时前
三维重建技术文档
算法·无人机
小O的算法实验室4 小时前
2026年ASOC,基于多目标优化去噪双存档进化算法+路径规划,深度解析+性能实测
算法·论文复现·智能算法·智能算法改进
2601_954526754 小时前
逆向解析Temu底层动销算法:基于API高并发轮询与全域存量透视的自动化架构重构
算法·架构·自动化
Σίσυφος19005 小时前
数据标准化(拟合的时候使用非常重要)
人工智能·算法
knight_9___5 小时前
大模型project面试7
人工智能·python·算法·面试·大模型·agent
NashSKY6 小时前
EM 算法完整推导与本质剖析
算法·机器学习·概率论
foundbug9996 小时前
MATLAB实现:基于图像对比度和波段相关性的高光谱波段选择算法
开发语言·算法·matlab
嘿嘿嘿x36 小时前
Linux-实践
linux·运维·算法