leetcode84 柱状图中最大的矩形(单调栈)(LeetCode 85. 最大矩形)
暴力解法是对于每个长方形,从它的下标开始,分别向左向右寻找第一个高度小于这个长方形的长方形,然后计算面积,求最大值。很明显,这样的时间复杂度是O(n^2)。
然而可以利用单调栈实现O(n)的复杂度,单调栈,顾名思义就是栈里的元素是单调上升或者下降的。在这道题里,栈里存的是下标,从栈底到栈顶,以该下标的元素是非递减的。
我参考的是这篇博客:84. 柱状图中最大的矩形/C++。里面说得比较详细了。
这...
原创
2019-06-12 15:33:41 ·
549 阅读 ·
0 评论