单调栈

一但要求下一个更大的元素,就是用单调栈解,力扣题库相似的题目都是这个解法。

栈(stack)是很简单的一种数据结构,先进后出的逻辑顺序,符合某些问题的特点,比如说函数调用栈。

单调栈实际上就是栈,只是利用了一些巧妙的逻辑,使得每次新元素入栈后,栈内的元素都保持有序(单调递增或单调递减)。

 

例题:

496. 下一个更大元素 I

解法:单调栈 + 哈希表

 

 第1个子问题用单调栈解决。倒序遍历nums2,并用单调栈中维护当前位置右边的更大的元素列表,从栈底到栈顶的元素是单调递减的。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

posted @ 2023-03-04 20:20  blogzzt  阅读(14)  评论(0编辑  收藏  举报