我有一个与此类似的问题(Find the largest rectangular block satisfying some condition without iterating explicitly)。 但在我的情况下,我有一个多维(最多6维)二进制数组,我想找到只包含1的最大hyperrectangle(按体积,即维度的乘积)。
例如,在3D中,数据看起来像:
data = Table[If[i - j - k <= -1, 1, 0]
, {i, 11}
, {j, 11}
, {k, 11}
];
http://i.imgur.com/BrGIUOQ.jpg
请注意,我正在寻找一种算法,并且它不必用mathematica编写。