给定 n 个非负整数,用来表示柱状图中各个柱子的高度。每个柱子彼此相邻,且宽度为 1 。
求在该柱状图中,能够勾勒出来的矩形的最大面积。
示例:
1 | 输入:heights = [2,1,5,6,2,3] |
分析:
1 | 要求最大矩形的面积,考虑当前位置i所构成的最大矩形,只需要考虑前后最接近它且高度小于它的位置,显然,只需要维护两个单调栈即可 |
代码
- 借助STL
1 | class Solution { |
- 数组模拟
1 | const int N = 100010; |
[原题链接](84. 柱状图中最大的矩形 - 力扣(Leetcode))