leetcode笔记
Leetcode 记录
单调栈
解决的问题
在一维数组中找满足右边或左边大于等于或小于等于当前元素的第一个数。
思路
单调栈记录元素下标
循环遍历所给数组
不满足栈单调便弹出元素直到满足,当前元素入栈
左边<nums[i],右边<nums[i]:递增栈,当前元素被弹出时记录右边结果right[stack[-1]]=i。不满足递增条件的元素全部弹出时记录左边结果。left[i]=stack[-1] or -1(stack为空, 不存在)
左边>nums[i],右边>nums[i]:递
原创
2022-03-22 23:06:50 ·
72 阅读 ·
0 评论