开启单调栈篇章:单调栈用来找任意一个元素左边或者右边第一个比它大/小的元素(或位置)。
739. 每日温度
739. 每日温度 - 力扣(LeetCode)
思路:使用一个递增单调栈,可以从头到尾或者从尾到头遍历。栈中只存在大于前者的数组中的数。
注意:栈中只要存下标,通过下标可以找到对应的温度。
496.下一个更大元素 I
496. 下一个更大元素 I - 力扣(LeetCode)
思路:依旧使用递增单调栈,分析三种情况:当前的元素大于、小于、等于栈顶元素。因为没有重复元素,用map做映射。
503.下一个更大元素II
503. 下一个更大元素 II - 力扣(LeetCode)
思路:和【739. 每日温度】差不多,但记住是循环数组,所以可以走两遍数组。