《征服数据结构》单调栈

摘要:

1,单调栈的介绍

1,单调栈的介绍

单调栈就是单调递增或单调递减的栈,和我们前面讲的栈是一样的,只不过单调栈中的元素具有单调性

单调栈在面试的时候用的比较多,一般在求下一个更大元素的时候都会用到单调栈,关于这方面的题也有很多。

假如给定一个数组 nums ,对于数组中的每一个元素,查找它的下一个更大的值。比如数组 2, 7, 4, 3, 5,返回的结果是 7,0,5,5,0 。因为 2 后面比它大的是 7 ,7 和 5 后面没有比它大的,所以是 0 ,4 后面比它大的是 5 ,3 后面比它大的也是 5 ,所以结果就是 7,0,5,5,0 。

对于这种求下一个更大元素的问题,我们首先想到的是单调栈,步骤如下:

相关推荐
wo_jack1 小时前
C++ 入门笔记(十七):list 入门 —— 为什么 list 不能 sort?
数据结构·c++·面试·stl·list
zaizai10073 小时前
算法(左程云)1
数据结构
charliejohn4 小时前
计算机考研 408 数据结构 图论-关键路径
数据结构·图论
David猪大卫20 小时前
【C++修炼】map 和 set 的使用
c语言·开发语言·数据结构·c++·经验分享·笔记·学习
vvilkim1 天前
数据结构类型、区别与应用场景:一篇讲透选型逻辑
数据结构
阿卡好可爱1 天前
Lua 热更新不生效:改完文件线上仍是旧逻辑,package.loaded 与 upvalue 重绑定详解
数据结构·分布式·后端·架构·lua
心仪久了会沦陷2 天前
C语言数据结构入门——树与二叉树详解:概念、堆实现与链式遍历
c语言·数据结构·算法
码少女2 天前
数据结构——图的基础
数据结构
Severus_black2 天前
【C++初阶】list使用及相关实现,思路顺滑流畅!
c语言·数据结构·c++·stl·list