在0和1s的矩形中查找最大矩形面积空间的集合

时间:2019-06-28 16:52:19

标签: python algorithm

我有一个0和1的矩阵,我试图在其中找到最大矩形区域的集合。例如,在下面的矩阵A中:

array([
   [1, 1, 1, 1, 1, 1, 1, 1, 1],
   [0, 0, 0, 1, 1, 1, 1, 1, 1],
   [0, 0, 0, 1, 1, 1, 1, 1, 1],
   [0, 0, 0, 1, 1, 1, 1, 1, 1],
   [0, 0, 0, 0, 0, 0, 1, 1, 1],
   [0, 0, 0, 0, 0, 0, 1, 1, 1],
   [0, 0, 0, 0, 0, 0, 1, 1, 1],
   [0, 0, 0, 0, 0, 1, 1, 1, 1],
   [0, 0, 0, 0, 0, 0, 0, 0, 0],
   [0, 0, 0, 0, 0, 0, 0, 0, 0]])

答案应该是:

A[0:8, 6:9]
A[0:4, 3:9]
A[0, 0:9]
A[7, 5:9]

我试图通过依次应用maximal rectangle area problem

解决问题

但是我无法提出删除最大矩形的规则,但是不能删除在所有设置下都可以使用的下一个最大矩形! 这可能不是最血统的主意,因此,如果有更好的方法解决此问题,我将不胜感激!

0 个答案:

没有答案