《征服数据结构》单调栈

摘要:

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

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

相关推荐
paeamecium11 小时前
【PAT甲级真题】- Student List for Course (25)
数据结构·c++·算法·list·pat考试
Book思议-11 小时前
【数据结构】栈与队列全方位对比 + C 语言完整实现
c语言·数据结构·算法··队列
是苏浙12 小时前
初识集合框架
java·数据结构
如何原谅奋力过但无声13 小时前
【chap11-动态规划(上 - 基础题目&背包问题)】用Python3刷《代码随想录》
数据结构·python·算法·动态规划
小王C语言14 小时前
【基础IO】————简单设计一下libc库
前端·数据结构·算法
_日拱一卒15 小时前
LeetCode:滑动窗口的最大值
数据结构·算法·leetcode
老约家的可汗15 小时前
list 容器详解:基本介绍与常见使用
c语言·数据结构·c++·list
Book思议-15 小时前
【数据结构】字符串模式匹配:暴力算法与 KMP 算法实现与解析
数据结构·算法·kmp算法·bf算法
mifengxing15 小时前
力扣HOT100——(1)两数之和
java·数据结构·算法·leetcode·hot100
罗湖老棍子16 小时前
【 例 1】区间和(信息学奥赛一本通- P1547)(基础线段树和单点修改区间查询树状数组模版)
数据结构·算法·线段树·树状数组·单点修改 区间查询