直方图最大矩形【单调栈】

如上图所示,我们看这代码分析 首先,单调栈必须保证单调对吧,所以说我们将大于栈顶元素的元素入栈,直到遇到一个小于栈顶元素的数,然后因为是单调栈,所以我们想让它入栈,就必须删除栈中比他大的元素,但是又要不影响结果,所以每个栈顶元素出栈是都要计算它与前面出栈元素组成的最大矩形,直到在栈中找到一个比待入栈元素小的数。然后插入到它的旁边。 有的人可能会问,这怎么不会使结果变化呢?,因为我们,出栈时已经计算
相关文章
相关标签/搜索