算法刷题--贪心算法

embedded/2025/3/19 23:35:27/

要点

其实也没啥要点,就是求局部最优解,完事了将局部最优解汇总、筛选、max\min之类的,获得全局最优解,每一次都选择最优的,这个就是贪心算法

例题

分发饼干-中等

大概就是一堆小孩g,每个人都有一个胃口g[i],这个值是ta,满足的值;我自己有一些饼干s,每个饼干都有一个值s[j],问在一个孩子只能吃一块饼干的情况下,最大能满足多少个孩子。
写着题我的思路就是,先满足胃口小的,给这俩数组都排序,吃了的就没了。计算吃了的数量

摆动序列-中等

给个数组,当数字每次两两之间的差值呈现一会正,一会负的时候,这个就叫做摆动序列,求最大摆动序列长度,可以删减其中的某些数字形成子串返回,
eg:

输入:nums = [1,17,5,10,13,15,10,5,16,8] 输出:7 解释:这个序列包含几个长度为 7 摆动序列。
其中一个是 [1, 17, 10, 13, 10, 16, 8] ,各元素之间的差值为 (16, -7, 3, -3, 6, -8) 。

那么我的做法就是细化局部,记录每一次上升下降为1和-1,相等就是0,最后返回1和-1的。
其实写这道题的时候,都没意识到,这个就是贪心算法

分发糖果-困难

很可恶了,有糖为什么扣扣搜的分!生气!!
题目说有一些孩子g,他们的分数分别是g[i],我们要根据他们的分数给他们糖果。
俩规则:

  1. 所有孩子都至少有一个糖
  2. 相邻两个孩子分数更高的拿的更高(PS:这里没说分数一样的应该怎么样,所以直接不比较,我当时看到这里很懵)

思路借助代码随想录,分为从前到后遍历比较右边的是否大于左边的,是就加一;
然后从后往前比较左边的是否大于右边的,是就加一。
这样局部最优,然后合起来全局最优。


http://www.ppmy.cn/embedded/173983.html

相关文章

Ubuntu 安装Mujoco3.3.0

1.打开终端,使用以下命令将下载的 MuJoCo 压缩包解压到~/.mujoco目录 mkdir -p ~/.mujoco tar -xvzf mujoco-3.3.0-linux-x86_64.tar.gz -C ~/.mujoco 2.配置环境变量 打开终端,编辑~/.bashrc文件 nano ~/.bashrc 在文件末尾添加以下内容,ctr…

用户数据报协议(User Datagram Protocol,UDP)

用户数据报协议(User Datagram Protocol,UDP) 是一种简单的、无连接的传输层协议,位于TCP/IP协议栈中,与TCP(传输控制协议)并列。UDP 提供了一种低开销、低延迟的数据传输方式,适用于…

深度学习技巧

胡适的英语老师、出版家王云五先生是这样自学英语写作的:找一篇英文的名家佳作,熟读几次以后,把它翻译成中文;一星期之后,再将中文反过来翻译成英文,翻译期间绝不查阅英语原文;翻译好后再与原文…

OpenCV图像拼接(2)特征查找与图像匹配之基于仿射变换的图像匹配的一个类cv::detail::AffineBestOf2NearestMatcher

操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 cv::detail::AffineBestOf2NearestMatcher 是 OpenCV 库中用于实现基于仿射变换的图像匹配的一个类。这个类主要用于在图像拼接流程中&#xff0…

【智能搜索引擎技术】第二章信息采集(自用)

1.扩展知识:万维网(World Wide Web) 万维网,通常简称为WWW,是一个由互联网上的各种信息资源组成的系统。它通过超文本链接将不同的网页连接在一起,使用户能够方便地访问和浏览这些信息。万维网的核心技术包…

Docker build 会在本地产生巨大的文件

Docker build 会在本地产生巨大的文件, 比如 用 这个命令列出本地镜像 docker images 可见size都是很大的, 到docker目录下,看到ext4.vhdx的大小 80多G 那只能用这个命令把不用的镜像删掉了: (rmi后面是镜像id&a…

c++基础知识-图论进阶

一、拓扑排序 1、基础知识 1)什么是拓扑排序 对一个有向无环图G进行拓扑排序,是将G中所有顶点排成一个线性序列,使得图中任意一对顶点u和v,若,则u在线性序列中出现在v之前。 2)拓扑排序的操作方法 重复执行…

golang-type关键字

type 关键字 Type关键字在Go语言中作用很重要,他主要用来实现两个功能: 【自定义类型】 自定义类型底层是一种类型,但是不会拥有底层类型的方法。 自定义类型与底层类型相比是一种新类型,二者之间需要显式类型转换。 //语法 type 自定义类型…