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 柱状图中最大的矩形(单调栈)的主要内容,如果未能解决你的问题,请参考以下文章

LeetCode84. 柱状图中最大的矩形

Leetcode 84.柱状图中最大的矩形

LeetCode 84. 柱状图中最大的矩形 | Python

LeetCode 84. 柱状图中最大的矩形 | Python

[LeetCode] 84. 柱状图中最大的矩形

LeetCode84:柱状图中最大的矩形