0

私は3D配列を持っています。この配列で、より大きな要素に結合できる要素を見つけたいと思います。長方形同士を重ねることはできません。できれば最初に最大の長方形を見つけたいと思いますが、特にパフォーマンスが向上する場合は、先着順でも問題ありません。

例えば

1 0 0 0 1
0 0 0 0 0
0 0 0 0 1
1 1 0 0 1

生成されます (3x3 は見つけることができる最大の四角形であるため、位置 1, 0 から 3, 2 - zerobased ):

0 0 0
0 0 0
0 0 0

および (1x2 は見つけることができる次の最大の四角形であるため、位置 0, 1 から 0, 2 へ):

0
0

そして (2x1 は見つけることができる 2 番目に大きな長方形であるため、位置 2, 3 から 3, 3 へ):

0 0

そしてもちろん (左は位置 4, 1 です。これは大きくはありませんが、まだ使用する必要があります)

0

より大きな要素として(ゼロまたは1についてのみ知る必要があります)。目的は、ボクセルグリッドのコライダーの量を減らすことです。

そのようなアルゴリズムの名前はわかりませんが、その方法を自分で見つけることができるかもしれません。

誰かがこれに関する実行可能な情報を私に提供できれば、それは素晴らしいことです!

4

1 に答える 1