《征服数据结构》单调栈

摘要:

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 。

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

相关推荐
垆边人似月.12 分钟前
日志时间窗口内的最大并发请求数(100分 / 滑动窗口 + 排序)
数据结构·c++·算法
Jasmine_llq1 小时前
《P5663 [CSP-J 2019] 加工零件》
数据结构·算法·bfs·广度优先搜索·分层 bfs /·奇偶分层最短路·奇数最短步数
stolentime2 小时前
AT_arc182_a [ARC182A] Chmax Rush!题解
数据结构·c++·算法·动态规划
写后端的胖头鱼10 小时前
一文详解B+树原理(附场景+示例)
数据结构·b树
All for pursuit.13 小时前
【位运算-1】338.比特位计数
数据结构·c++·算法·leetcode
xxwl58515 小时前
数据结构知识点和代码实现总结(C语言实现)
c语言·开发语言·数据结构
mokongJ20 小时前
17 份异构销售数据的合并清洗方案:30 万行处理耗时 9.64 秒
数据结构
蛋蛋的就会顺顺的21 小时前
hot100——二叉树
java·数据结构·算法·leetcode·力扣
List<String> error_P1 天前
freertos数据结构--链表
数据结构·链表
longlongzihan1 天前
LeetCode 128. 最长连续序列 —— 从排序到哈希集合
数据结构·c++·算法·leetcode·排序算法·哈希表