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

单调栈的应用:

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

单调栈的构成:

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

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

单调栈的作用:

记录遍历过的元素。

单调栈的解题过程:

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

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

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

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

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

代码实现:(739.)

leetcode496.

解题过程:

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

代码实现:

相关推荐
离凌寒2 分钟前
一、关于st上制作外部烧录算法时软件识别不到算法文件的问题总结
算法
青 春 记 忆1 小时前
LeetCode 283. 移动零|Python 解法详解
python·算法·leetcode
Hrain-AI2 小时前
企业 AI 治理运营怎么做:分级授权、Token 用量可观测与模型统一纳管
大数据·人工智能·算法
剑指offer.2 小时前
Linux多任务-线程篇
java·jvm·算法
nike0good3 小时前
CF 126B(Password-z algorithm/exkmp)
开发语言·c++·算法
无定义_3 小时前
Bellman-Ford——贝尔曼福特算法
数据库·算法
HanhahnaH3 小时前
各数据结构操作的时间复杂度汇总
数据结构·算法
Yzzz-F4 小时前
CF2023D
c++·算法·dp
小小帅呀4 小时前
学习 VLA 第6天:SWIN VIT算法原理以及复现
学习·算法