您的位置:首页 > 科技 > IT业 > 网页设计素材加工_怎么举报平台_创建app平台_企业管理培训课程网课免费

网页设计素材加工_怎么举报平台_创建app平台_企业管理培训课程网课免费

2025/1/1 7:58:08 来源:https://blog.csdn.net/qwq_ovo_pwp/article/details/143243268  浏览:    关键词:网页设计素材加工_怎么举报平台_创建app平台_企业管理培训课程网课免费
网页设计素材加工_怎么举报平台_创建app平台_企业管理培训课程网课免费

应用情景

求当前元素 前面/后面,第一个比它 小/大 的元素的 值/下标/下标距离

优点

剔除重复寻路操作,将暴力 O(n^2) 优化到 O(n)

性质

从栈底开始,元素 单调递增/单调递减

单调性视具体情景而定 (找较大值还是较小值、找的方向)

思路

以某种形式存放遍历过的元素,使该种存放形式符合情景要求

讨论当前元素与栈顶元素比较大小后的几种情况分别对应什么操作

实现

按遍历顺序生成结果:

1.存放每一个遍历过的元素 (写在循环体最后)

2.对于当前元素,要知道有没有比它 大/小 的,就从栈顶向下找,不满足条件的直接出栈

因为对于之后还没遍历到的元素,栈顶不满足条件的元素和当前元素相比

一定劣于当前元素,不会再用到了

3.经历过 2. 之后,当前栈一定符合条件:若栈为空,则没有元素比当前元素更 小/大

若栈非空,则栈顶元素一定是第一个比当前元素 小/大 的

按其他顺序生成结果:略 (我遇到的题目都是按遍历顺序生成结果更优)

注意事项

注意讨论遍历方向,有时反着遍历,思路和代码更简洁

栈中元素有时候需要存数值,有时候要存下标,视题目要求而定

例题

LeetCode.739.每日温度

题目与题解:

题解 力扣 LeetCode 739 每日温度 C++-CSDN博客icon-default.png?t=O83Ahttps://blog.csdn.net/qwq_ovo_pwp/article/details/143243618?spm=1001.2014.3001.5501

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com