P146. 直方图中的最大矩形

leetcode 84 lintcode 122 数组 讨论

温馨提示:您没有权限查看当前视频。 立即购买观看视频

描述

这个题目说的是,给你一个非负整数数组,数组中的整数表示直方图的高度,每个直方图的宽度都为 1,你要计算出直方图中最大矩形的面积。

比如说,给你的数组是 2, 1, 3, 4, 1, 它对应的直方图如图所示:

          +--+
          |  |
       +--+  |
       |  |  |
 +--+  |  |  |
 |  |  |  |  |
 |  +--+  |  +--+
 |  |  |  |  |  |
 +--+--+--+--+--+-->
  2  1  3  4  1

在这些直方图组成的区域里,可以形成的最大矩形是 3 和 4 这两个直方图中,高度为 3,宽度为 2 的矩形。它的面积为 6,因此你要返回 6。

关于 AlgoCasts

AlgoCasts 旨在用心做好每一个算法讲解视频。每个视频包含两个部分:题目的剖析讲解以及编码,力求在讲解清楚到位的基础上,尽可能地保持视频精简短小,让大家可以在碎片时间里进行学习,并收获这些算法题背后的思想与乐趣。