IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 数据结构与算法 -> 专题复习:贪心算法 -> 正文阅读

[数据结构与算法]专题复习:贪心算法

贪 心 算 法 ( greedy algorithm ) 就 是 这 样 的 算 法 , 它 在 每 一 步 都 做 出 当 时 看 起 来 最 佳 的选择。也就是说,它总是做出局部最优的选择,寄希望这样的选择能导致全局最优解。

(1)leetcode?455. 分发饼干

思路:首先将两个数组g 和 s进行排序

然后,优先满足饭量小的孩子

一种最简单的
方式就是先从胃口最小的孩子开始,拿最小的饼干试一下能不能满足他,如果能满足就
更好,如果不能满足,在找稍微大一点的,如果还不能满足就再找更大一点的

class Solution {
public:
    int findContentChildren(vector<int>& g, vector<int>& s) {
        int res = 0;
        sort(g.begin(), g.end());
        sort(s.begin(), s.end());
        for(int i = 0; res < g.size()&& i < s.size(); i++)
        {
            if(s[i] >= g[res])
            {
                res++;
            }
        }
        return res;
    }
};

(2)leetcode?860. 柠檬水找零

顾 客 只 能 有 3 种 纸 币 , 5 元 , 10 元 , 20 元 。 我 们 要 统 计 5 元 和 10 元 的 数 量 , 20 元 的 不 需要统计,因为20元没法找给别人。
顾客给5元,5元的数量加1

顾客给10元,5元的数量减1(减完之后再判断5元的数量,如果小于0,说明5元的
不够了,没法给顾客找零了,直接返回false)
顾 客 给 20 元 , 根 据 生 活 常 识 , 如 果 有 10 元 的 , 应 该 先 找 他 10 元 的 , 然 后 再 找 他 一个5元的。如果没有10元的就找他3个5元的,然后再判断5元的数量,如果小于0直
接返回false。
?

class Solution {
public:
    bool lemonadeChange(vector<int>& bills) {
        int five = 0, ten = 0;
        for(int i = 0; i < bills.size(); i++)
        {
            if(bills[i] == 5)
            {
                five++;
            }
            else if(bills[i] == 10)
            {
                ten++;
                five--;
            }
            else if( ten > 0) //此时为20元   如果有10块先用10块
            {
                ten--;
                five--;
            }
            else
            {
                five -=3;
            }
            if(five < 0) return false;
        }
        return true;
    }
};

  数据结构与算法 最新文章
【力扣106】 从中序与后续遍历序列构造二叉
leetcode 322 零钱兑换
哈希的应用:海量数据处理
动态规划|最短Hamilton路径
华为机试_HJ41 称砝码【中等】【menset】【
【C与数据结构】——寒假提高每日练习Day1
基础算法——堆排序
2023王道数据结构线性表--单链表课后习题部
LeetCode 之 反转链表的一部分
【题解】lintcode必刷50题<有效的括号序列
上一篇文章      下一篇文章      查看所有文章
加:2021-08-02 11:02:29  更:2021-08-02 11:04:25 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/10 18:39:25-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码