Leetcode No.84 柱状图中最大的矩形(单调栈)
Posted AI算法攻城狮
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Leetcode No.84 柱状图中最大的矩形(单调栈)相关的知识,希望对你有一定的参考价值。
一、题目描述
给定 n 个非负整数,用来表示柱状图中各个柱子的高度。每个柱子彼此相邻,且宽度为 1 。
求在该柱状图中,能够勾勒出来的矩形的最大面积。
示例 1:
输入:heights = [2,1,5,6,2,3]
输出:10
解释:最大的矩形为图中红色区域,面积为 10
示例 2:
输入: heights = [2,4]
输出: 4
提示:
1 <= heights.length <=10^5
0 <= heights[i] <= 10^4
二、解题思路
方法一:暴力解法(超时)
这道问题的暴力解法比「接雨水」那道题要其实好想得多:可以枚举以每个柱形为高度的最大矩形的面积。
具体来说是:依次遍历柱形的高度,对于每一个高度分别向两边扩散,求出以当前高度为矩形的最大宽度多少。
以上是关于Leetcode No.84 柱状图中最大的矩形(单调栈)的主要内容,如果未能解决你的问题,请参考以下文章
LeetCode 84. 柱状图中最大的矩形 | Python