关于贪心算法章节的【有两个维度问题】的自我总结

一、如果一道题目需要同时满足两个维度,那么在实际做题的时候不要两个维度一起考虑。

二、关键:先考虑一个维度,再根据另一个维度做调整。

(一眼看上去不知道先考虑哪个维度,就先抓其中的一个维度先考虑试一下,模拟一下过程)

三、两个例题

例题1:分发糖果。题目要求要同时满足比左边的多,又要比右边的多。

那么就先处理比左边多的情况,再处理比右边多的情况。代码如下图右侧所示。

例题2:根据身高重建队列。既要考虑满足身高顺序要求,又要满足另一个条件

但是一眼看上去不知道哪一个先考虑比较好,就先考虑其中一个条件试一下,模拟一下过程。

(比如:如果先考虑第二个参数,按第二个参数从小到大排序,排完以后再按身高排序。此时两个条件都会变来变去,并没有因为先考虑了第二个参数而定了其中一个顺序。说明不合适,所以优先按身高从大到小排序,再用第二个参数做调整。)

相关推荐
CS创新实验室9 小时前
算法、齿轮与硅基大脑:数值计算发展简史
人工智能·算法·数值计算
海石10 小时前
1563分的简单题,可能就简单在能被暴力AC
算法·leetcode
海石11 小时前
1400分的dp汗流浃背之【交替子数组计数】
算法·leetcode
奋发向前wcx11 小时前
P2590 树的统计 题目解析
数据结构·算法·深度优先
imbackneverdie12 小时前
AI4S不止于分子药物:以MedPeer为代表的科研基建打开产业新增量
大数据·人工智能·算法·aigc·科研·学术·ai 4s
额鹅恶饿呃13 小时前
C语言中的数据结构和变量
c语言·数据结构·算法
运行时记录14 小时前
prompt-optimizer skill
算法
万法若空14 小时前
【数据结构-哈希表】哈希表原理
数据结构·算法·散列表
退休倒计时14 小时前
【每日一题】LeetCode 437. 路径总和 III TypeScript
算法·leetcode·typescript
学逆向的15 小时前
汇编——内存
开发语言·汇编·算法·网络安全