本文主要是介绍leetcode:739.每日温度/496.下一个更大元素,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
单调栈的应用:
求解当前元素右边比该元素大的第一个元素(左右、大小都可以)。
单调栈的构成:
单调栈里存储数组的下标;
单调栈里的元素递增,求解当前元素右边比该元素大的第一个元素;元素递减,求解当前元素左边比该元素大的第一个元素。
单调栈的作用:
记录遍历过的元素。
单调栈的解题过程:
将当前遍历到的元素与栈顶元素进行比较,有以下三种情况:
1.当前遍历到的元素>栈顶元素
已找到目标元素,弹出栈顶元素,(直到当前遍历到的元素<=栈顶元素)将当前遍历到的元素加入单调栈。【这是一个循环的过程】
2.当前遍历到的元素<=栈顶元素
直接将当前遍历到的元素加入单调栈。
代码实现:(739.)
leetcode496.
解题过程:
相比于纯粹的单调栈问题,这道题目还增加了两个数组之间的映射这一环节。
代码实现:
这篇关于leetcode:739.每日温度/496.下一个更大元素的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!