找回密码
 立即注册

扫一扫,访问微社区

QQ登录

只需一步,快速开始

查看: 2626|回复: 0

[代码与实例] Lintcode510 Maximal Rectangle solution 题解

15

主题

15

帖子

15

积分

贫民

积分
15
Jenny 发表于 2018-7-7 21:27:31 | 显示全部楼层 |阅读模式
【题目描述】
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直方图中最大的矩形问题的函数并找出最大值即可。




回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表