私は正方形の行列と、可能なすべての位置で行列内を移動する小さな正方形を持っています(行列の外には出ません)。このような重複の可能性があるすべての中で最小の数を見つける必要があります。
問題は、両方のサイズが数千に達する可能性があることです。それを行うための速い方法はありますか?
私は 1 つの方法を知っています。行列の代わりに配列があり、正方形の代わりにウィンドウがある場合、 dequeを使用して線形時間でそれを行うことができます。
前もって感謝します。
編集:例
マトリックス:
1 3 6 2 5
8 2 3 4 5
3 8 6 1 5
7 4 8 2 1
8 0 9 0 5
サイズ 3 の正方形の場合、合計 9 つのオーバーラップが可能です。重なり合うそれぞれの行列形式の最小数は次のとおりです。
1 1 1
2 1 1
0 0 0