|
【题目描述】
Given a 2D boolean matrix filled with False and True, find the largest rectangle containing all True and return its area.
给你一个二维矩阵,权值为False和True,找到一个最大的矩形,使得里面的值全部为True,输出它的面积。
【题目解析】
这道题是Largest Rectangle in Histogram直方图中最大的矩形问题的扩展,matrix有几行就有几个直方图。首先我们要构建“直方图”。
1) 第一行中,matrix值为0则相应直方图高度为0,matrix值为1则相应直方图高度为1
2) 从第二行开始,若matrix值为0则相应直方图高度为0,若matrix值为1则相应直方图高度为上一行直方图在该点的高度+1
直方图构建完成后,则只需要逐行调用Largest Rectangle in Histogram直方图中最大的矩形问题的函数并找出最大值即可。
|
|