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

单调栈的应用:

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

单调栈的构成:

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

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

单调栈的作用:

记录遍历过的元素。

单调栈的解题过程:

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

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

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

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

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

代码实现:(739.)

leetcode496.

解题过程:

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

代码实现:

相关推荐
Sakinol#6 分钟前
Leetcode Hot 100 —— 普通数组
算法·leetcode
@Mike@14 分钟前
【算法】高精度
算法
leo__52015 分钟前
MHT多假设跟踪算法(Multiple Hypothesis Tracking)MATLAB实现
开发语言·算法·matlab
ShineWinsu15 分钟前
对于C++中unordered_set的详细介绍
数据结构·c++·算法·面试·stl·哈希表·unordered_set
吃着火锅x唱着歌15 分钟前
LeetCode 456.132模式
数据结构·算法·leetcode
二木九森18 分钟前
LeetCode-寻找环形链表的入口
算法·leetcode·链表
飞Link25 分钟前
耳机连接电脑时调节耳机音量电脑音量也会随着改变
算法·电脑
此方ls32 分钟前
机器学习聚类算法一——K均值
算法·机器学习·聚类
再难也得平32 分钟前
力扣73. 矩阵置零(Java解法)
算法·leetcode·矩阵
进击切图仔34 分钟前
生成 .so 和使用 .so
java·javascript·算法