2

可能重复:
在 N×N 二进制矩阵中查找仅包含零的最大矩形

这是一个用 0 和 1 填充的 *m 矩阵。我需要找到由 1 组成的最大矩形。由 0 组成的最大矩形是等效的,因为我可以使用 0 而不是 1。因此在此示例中,8x8 矩阵: 最大的矩形是从 (2,0) 开始并以对角线结束于 (7,1) 的子矩阵,具有 12 个 1 .

10011110
10011110
11100010
11100010
11100000
11001111
11000000
11000000

这不是家庭作业。这是我准备面试的问题之一。

我想出了以下解决方案。从 (0,0) 开始,对于每个元素,如果可能,尝试对角线,从而检查在两个方向上形成特定矩形的其他元素(比如对角线端是 2,2 我会检查 2,1 和 1,2对于 1s),否则根据存在的 1s 向左或向右移动。如果矩形被扩展,则用矩形中包含的当前 1 数标记单元格。

你会怎么接近?你觉得我的解决方案怎么样?

4

0 回答 0