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

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

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

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

三、两个例题

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

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

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

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

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

相关推荐
海上小飞龙4 小时前
【KMP算法-下篇】同一道题:Java 库函数 2600 微秒,手写 KMP 16 微秒
java·开发语言·算法
青少儿编程课堂4 小时前
后缀自动机解析:本质不同子串与最长重复片段统计
c++·python·算法·bfs·信息学竞赛
朝朝辞暮i4 小时前
C++ 第 12 课:局部变量、作用域、变量生命周期
开发语言·c++·算法
乐迪信息6 小时前
港口船舶逆行怎么管?AI防爆摄像机搭载智能检测算法
大数据·人工智能·深度学习·算法·计算机视觉
Sirens.7 小时前
Java并发锁详解:六类锁策略与 synchronized 底层原理
java·前端·算法
和裕7 小时前
全纸结构重型纸箱能否满足 1 吨以上设备出口熏蒸豁免要求?通关合规性全解析
大数据·运维·网络·人工智能·算法
tangguofeng7 小时前
不带头结点的链队操作集(不含InitFlag)(C语言版)
算法
苏打豆9 小时前
CRISP源码阅读——基于ROS2力矩反馈控制器与速度加速度零空间
c++·线性代数·算法·矩阵·机器人
蛋蛋的就会顺顺的9 小时前
hot100——矩阵
java·数据结构·算法·leetcode·力扣
老歌老听老掉牙9 小时前
麻花钻切屑形态演变的力学机制与临界条件分析
python·算法·钻头