给定NxN二进制矩阵(仅包含0或1),我们如何才能找到包含全0的最大矩形?
例:
I
0 0 0 0 1 0
0 0 1 0 0 1
II->0 0 0 0 0 0
1 0 0 0 0 0
0 0 0 0 0 1 <--IV
0 0 1 0 0 0
IV
Run Code Online (Sandbox Code Playgroud)
对于上面的例子,它是一个6×6的二进制矩阵.在这种情况下,返回值将是单元格1:(2,1)和单元格2:(4,4).得到的子矩阵可以是正方形或矩形.返回值也可以是所有0的最大子矩阵的大小,在该示例中为3×4.
输入图片:

输出图像:

我在图像中有几个彩色斑点,我试图在每种颜色的最大斑点内创建矩形(或正方形 - 这似乎更容易).我已经找到了如何创建一个界定单个最大blob的矩形的答案,但我不确定如何找到一个简单地适合blob内部的正方形.它不一定是最大的,它必须大于某个区域,否则我就不会包含它.我也看到了一些关于多边形的工作,但没有用于非晶形状.