单调栈/单调队列
单调栈
_Charison
这个作者很懒,什么都没留下…
展开
-
leetcode 503. 下一个更大元素 II
@(labuladong的算法小抄)[单调栈] leetcode 503. 下一个更大元素 II 题目描述 解题思路 参考:labuladong的算法小抄P268 import java.util.Stack; class Solution { public int[] nextGreaterElements(int[] nums) { int n = nums.length; int[] res = new int[n]; /* 单调栈,存放nu原创 2021-03-05 21:17:26 · 94 阅读 · 0 评论 -
leetcode 739. 每日温度
@(labuladong的算法小抄)[单调栈] leetcode 739. 每日温度 题目描述 解题思路 参考:labuladong的算法小抄P268 class Solution { public int[] dailyTemperatures(int[] T) { int[] res = new int[T.length]; /* 单调栈,存放T中元素的下标 */ Stack<Integer> s = new Stack<>原创 2021-03-05 21:16:48 · 61 阅读 · 0 评论 -
leetcode 496. 下一个更大元素 I
@(labuladong的算法小抄)[单调栈] leetcode 496. 下一个更大元素 I 题目描述 解题思路 参考:labuladong的算法小抄P266 单调栈 复杂度o(n) class Solution { public int[] nextGreaterElement(int[] nums1, int[] nums2) { /* 存放nums2中 每个元素 到 第一个比它大的元素 的映射 */ Map<Integer, Integer> m原创 2021-03-05 21:16:10 · 98 阅读 · 0 评论 -
leetcode 239. 滑动窗口最大值
@(labuladong的算法小抄)[单调队列] leetcode 239. 滑动窗口最大值 题目描述 解题思路 参考:labuladong的算法小抄P271 在一堆数字中,已知最值为A,如果给这堆数添加一个数B,那么比较一下A和B就可以立即算出新的最值;但如果减少一个数,就不能直接得到最值了,因为如果减少的这个数恰好是A,就需要遍历所有数重新找出新的最值。 因此,由于窗口每次前进的时候,要添加一个数同时减少一个数,所以想得到新的最值不容易。 本题采用单调队列的方法解决。 class Solution原创 2021-03-05 21:15:31 · 146 阅读 · 0 评论