《征服数据结构》单调栈

摘要:

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

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

相关推荐
故事和你9122 分钟前
sdut-python-实验四-python序列结构(21-27)
大数据·开发语言·数据结构·python·算法
丶小鱼丶43 分钟前
数据结构和算法之【栈】
java·数据结构
不要秃头的小孩1 小时前
力扣刷题——111.二叉树的最小深度
数据结构·python·算法·leetcode
散峰而望1 小时前
【基础算法】从入门到实战:递归型枚举与回溯剪枝,暴力搜索的初级优化指南
数据结构·c++·后端·算法·机器学习·github·剪枝
elseif1233 小时前
CSP-S提高级大纲
开发语言·数据结构·c++·笔记·算法·大纲·考纲
Book思议-3 小时前
【数据结构实战】双向链表:在指定位置插入数据
c语言·数据结构·算法·链表
白昼流星!3 小时前
顺序表与单链表的数据存储差异: 为何顺序表元素用指针,链表节点数据不用?
数据结构·链表·顺序表
y = xⁿ4 小时前
【LeetCodehot100】T108:将有序数组转换为二叉搜索树 T98:验证搜索二叉树
数据结构·算法·leetcode
不是株5 小时前
算 法
数据结构·python·算法
自信150413057595 小时前
插入排序算法
c语言·数据结构·算法·排序算法