これは私たちが仕事で抱えていたばかげた小さな問題であり、私たちの何人かは異なる解決策を持っており、それを行うためのより良い方法があるかどうか疑問に思っています. 例として、非常に単純なものに要約します。
以下の値を含む多次元配列があるとします。各値は独自の要素であり、各行は配列です。
0a00
000b
c000
上記の「配列」では、$array[0][1] は「a」、$array[1][3] は「b」、$array[2][0] は「c」になります。必要なことは、数値以外の値に隣接するすべての値を 1 ずつインクリメントすることです。したがって、値をインクリメントした後の配列は、以下の配列のようになります。現在の解決策は、最初に配列の 4 つの「コーナー」をすべてチェックし、隣接する値をインクリメントしてから、一番上の行と一番下の行をチェックし、次に最初と最後の列をチェックし、最後に他のすべての要素をチェックすることです。非数値要素にヒットするたびに、隣接する他のすべての非数値要素を 1 ずつインクリメントします。すべての爆弾がどこにあるかを知っている場合、それはほとんど逆に爆弾掃除ボードを構築しています.
1a21
222b
c111