3

0長さが X および Y よりも小さくないランダムな数字 0 ~ 9 を含むマトリックス内の の長方形をすばやく見つけることができるアルゴリズムを探しています。

私自身は0をスキャンして、隣接する長方形があるかどうかを調べ、そうでない場合は続行します。かなり遅いので、もっと速いものがあるかもしれません。

4

1 に答える 1

1

オリジナルと同じサイズのテーブルを作成します。元の値を垂直方向にスイープし、現在のフィールドを含めて上記の連続するゼロの数を数え、これを新しいテーブルに書き込みます。

元のテーブルをスイープして、現在のフィールドの左側にある連続するゼロの数を水平方向にカウントします。次に、各フィールドについて、これらの2つの数値は、そのフィールドで終わる長方形のサイズを示します。

残りの解決策は、指定しなかった質問の部分によって異なります。おそらく、それらが十分に大きいときはいつでも単純に出力できます。おそらく、長方形の右下隅にいるかどうかを確認するためのテストを追加する必要があります。

于 2012-11-11T14:48:11.900 に答える