单调栈
一但要求下一个更大的元素,就是用单调栈解,力扣题库相似的题目都是这个解法。
栈(stack)是很简单的一种数据结构,先进后出的逻辑顺序,符合某些问题的特点,比如说函数调用栈。
单调栈实际上就是栈,只是利用了一些巧妙的逻辑,使得每次新元素入栈后,栈内的元素都保持有序(单调递增或单调递减)。
例题:
496. 下一个更大元素 I
解法:单调栈 + 哈希表
第1个子问题用单调栈解决。倒序遍历nums2,并用单调栈中维护当前位置右边的更大的元素列表,从栈底到栈顶的元素是单调递减的。