CodeACM
HOT 100 · 栈 · LC 84

柱状图中最大的矩形:ACM 模式刷题

按标准输入读取测试数据,输出结果后可在 CodeACM 在线运行和提交。

题目描述

给定 n 个非负整数,用来表示柱状图中各个柱子的高度。每个柱子彼此相邻,且宽度为 1 。

求在该柱状图中,能够勾勒出来的矩形的最大面积。

输入格式

第一行输入 n,第二行输入 n 个非负高度。

输出格式

输出最大矩形面积。

数据范围

  • 1 ≤ n ≤ 10⁵
  • 0 ≤ heights[i] ≤ 10⁴

公开样例

样例 1

输入

6
2 1 5 6 2 3

输出

10

高度 5 和 6 的两根相邻柱子组成面积 10。

样例 2

输入

2
2 4

输出

4

可选择单根高度 4 的柱子。

练习建议

先根据输入输出格式写出可运行程序,再用公开样例检查结果;遇到边界情况时,补充自测用例后提交。