单调栈
不 彳亍
这个作者很懒,什么都没留下…
展开
-
leetcode 85 最大矩形(单调栈解法)
单调栈解法问题可以转换为leetcide 84题的单调栈解法。思路就是建立跟84题一样的图。84题的图是怎么存的?定义一个heights数组,数组元素是高度。同理,遍历该题的每一行,建立一个类似的图,然后进行求解即可。class Solution {public: int maximalRectangle(vector<vector<char>>& matrix) { if (matrix.size() == 0) return 0; //注原创 2020-12-27 15:04:56 · 127 阅读 · 1 评论 -
leetcode 84 柱状图中最大矩形的面积
初识单调栈和哨兵。操纵下标可以获得高度和宽度,所以栈里面存的是下标没有哨兵的情况下将0下标入栈在下标i入栈之前,比较st.top()的高度a和i的高度b。(1).如果高度a小于等于高度b,就将其入栈。(2)while(如果高度a大于高度b,则高度a的矩形可以确立,先弹出,然后宽度即为i - st.top() - 1)。((1)(2)两步可以看出来,st里面的下标对应的高度肯定是非单调递减的,也就是说栈中的每个高度都具有左边界(最左边的下标除外,但是可以通过哨兵为其设一个左边界)。此时将要入栈的下标原创 2020-12-27 11:21:48 · 317 阅读 · 0 评论