摘要:
单调栈 思路: 遍历每一行,用dp记录每行元素与之前行所能形成的柱形图的高,之后用单调栈的方式找到每行最大矩形面积,单调栈方式参考84.柱形图中最大的矩形 代码: class Solution: def largestRectangleArea(self,heights: List[int]) -> 阅读全文
摘要:
单调栈 思路: 要找到最大矩形,只需要遍历每个元素得到高,得到高后再对每个元素进行左右扩散来确定对应的宽。这里确定宽的条件是如果遇到比自己低的就停止扩散。我们可以用两个数组来记录每个元素高所对应宽的左边界和右边界,确定左右边界可以采用单调栈的方式。单调栈用来记录左右边界的下标,在遍历过程中,如果遇到 阅读全文