我需要在此方面帮助。
假设你再次成为类似WeWork的共同办公空间的所有者,你的办公楼是矩形的。你的团队刚刚创建了许多隔墙,为初创企业创建小型办公室。你的办公园区由一个二维数组表示,其中1代表地板上的空间,0代表墙壁。该数组中的每个点都是一个一英尺乘一英尺的正方形。在出租给租户之前,你想为自己保留一个办公室。你希望在你的办公室里放置最大可能的长方形桌子,并选择适合这张桌子的办公室。桌子的边将始终平行于办公楼的边界。能够适应你的办公室的最大桌子的面积是多少?
函数 biggestTable()有一个参数:
网格:一个由1和0组成的2D网格/数组
输入格式 对于我们的一些模板,我们已经为您处理了解析。如果我们没有为您提供解析函数,则需要直接解析输入。在此问题中,我们的输入格式如下:
第一行是二维数组中的行数 第二行是二维数组中的列数 其余输入包含要处理的数据 以下是原始输入示例:
4
5
11110
11010
11000
00000
期望输出 返回网格中由1组成的最大区域的面积。假设网格被0(墙)所包围。
约束条件 假设数组的边界如下: 数组中元素的总数:宽度x高度 <= 10^6
示例 示例 biggestTable() 输入
grid:
[[1, 0, 1, 1, 1],
[1, 0, 1, 1, 1],
[1, 1, 1, 1, 1],
[1, 0, 0, 1, 0]]
示例输出
9
解决方案
网格的右上角包含一个由九个 1 组成的矩形,是我们表格可能的最大空间。