《征服数据结构》单调栈

摘要:

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] 。

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

相关推荐
郝学胜-神的一滴2 小时前
Linux进程与线程控制原语对比:双刃出鞘,各显锋芒
linux·服务器·开发语言·数据结构·c++·程序人生
javachen__2 小时前
341-十道经典程序设计题目
数据结构·c++·算法
毅炼3 小时前
hot100打卡——day08
java·数据结构·算法·leetcode·深度优先
denggun123455 小时前
悬垂指针 和 野指针
数据结构
Pluto_CSND5 小时前
JSONPath解析JSON数据结构
java·数据结构·json
无限进步_5 小时前
【C语言】用队列实现栈:数据结构转换的巧妙设计
c语言·开发语言·数据结构·c++·链表·visual studio
liu****5 小时前
02_Pandas_数据结构
数据结构·python·pandas·python基础
optimistic_chen6 小时前
【Redis 系列】常用数据结构---Hash类型
linux·数据结构·redis·分布式·哈希算法
五阿哥永琪6 小时前
Redis的常用数据结构
数据结构·数据库·redis
Sheep Shaun7 小时前
STL中的map和set:红黑树的优雅应用
开发语言·数据结构·c++·后端·c#