leetcode:739.每日温度/496.下一个更大元素

单调栈的应用:

求解当前元素右边比该元素大的第一个元素(左右、大小都可以)。

单调栈的构成:

单调栈里存储数组的下标;

单调栈里的元素递增,求解当前元素右边比该元素大的第一个元素;元素递减,求解当前元素左边比该元素大的第一个元素。

单调栈的作用:

记录遍历过的元素。

单调栈的解题过程:

将当前遍历到的元素与栈顶元素进行比较,有以下三种情况:

1.当前遍历到的元素>栈顶元素

已找到目标元素,弹出栈顶元素,(直到当前遍历到的元素<=栈顶元素)将当前遍历到的元素加入单调栈。【这是一个循环的过程】

2.当前遍历到的元素<=栈顶元素

直接将当前遍历到的元素加入单调栈。

代码实现:(739.)

leetcode496.

解题过程:

相比于纯粹的单调栈问题,这道题目还增加了两个数组之间的映射这一环节。

代码实现:

相关推荐
CCCCCCCCharlie5 分钟前
深入解析I/O底层:文件描述符与缓冲区真相
linux·开发语言·c++·算法
Cccp.12328 分钟前
【leetcode】(十三)大数据处理
数据结构·算法·leetcode
学逆向的29 分钟前
C 选择结构的执行效率分析
c语言·开发语言·算法·网络安全
wzdark44 分钟前
动态规划算法的状态转移矩阵可视化分析5
算法·矩阵·动态规划
Pniubi1 小时前
力扣70爬楼梯
数据结构·算法·leetcode
人工智能培训1 小时前
具身智能环境交互与学习范式原理
大数据·linux·人工智能·学习·算法·机器学习
纪念 2292 小时前
C++算法(三)
开发语言·c++·算法
学不会pwn不改名2 小时前
时间复杂度与空间复杂度详解
算法
AbandonForce2 小时前
递归、搜索与回溯:从板书到二叉树解题方法
c++·算法·决策树