Учитывая двоичный массив NxNxN (содержащий только 0 или 1), как мы можем получить наибольший кубоид с нетривиальным решением, т.е. в O (N ^ 3)?
-
Это та самая проблема, что Найти большой прямоугольник, содержащий только нули в двоичной матрице N × N, но в верхнем измерении. Кроме того, в моем случае наибольший прямоугольник может "пересекать край" массива, т.е. Пространство подобно тору для двумерной матрицы.
Для двумерного массива, если запись:
00111
00111
11000
00000
00111
решение, изображенное "X", равно
00XXX
00XXX
11000
00000
00XXX
Я выполнил вычисление для двоичного массива NxN и нашел решение для самой большой проблемы прямоугольника в O (N ^ 2), следуя идее в http://tech-queries.blogspot.de/2011/03/maximum-area-rectangle-in-histogram.html. Но я не знаю, как применить его для 3D-массива.
-
Пример для массива 3x3x3, где решение "пересекает край":
111
100
011
111
001
111
011
110
011
решение должно быть:
1XX
100
0XX
1XX
001
1XX
0XX
110
0XX