相关疑难解决方法(0)

找到N×N二进制矩阵中仅包含零的最大矩形

给定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.

arrays algorithm

73
推荐指数
4
解决办法
5万
查看次数

具有相同编号的最大矩形子矩阵

我正在尝试提出一种动态编程算法,该算法在矩阵中找到由相同数字组成的最大子矩阵:

例:

{5 5 8}
{5 5 7}
{3 4 1}
Run Code Online (Sandbox Code Playgroud)

答案:由于矩阵导致4个元素

   5 5 
   5 5   
Run Code Online (Sandbox Code Playgroud)

algorithm matrix dynamic-programming

14
推荐指数
1
解决办法
9420
查看次数

找到满足某些条件的最大矩形块,无需显式迭代

我有几个大的2D数组,如:

   1   2  3  4  5
   --------------
1 | 0  1  1  1  0
2 | 0  1  1  1  0
3 | 0  1  0  1  1
4 | 0  1  0  1  1
Run Code Online (Sandbox Code Playgroud)

因此,最大的矩形块(按区域)满足==1 从(1,2)开始,其尺寸为(2,3).

如何在没有显式迭代的情况下使用Mathematica找到它?


注意:

只是为了简化您的测试,这是我的一个样本:

matrix = ImageData@Binarize@Import@"http://i.stack.imgur.com/ux7tA.png"
Run Code Online (Sandbox Code Playgroud)

wolfram-mathematica

10
推荐指数
2
解决办法
1064
查看次数