840。グリッド内の魔方陣
中
トピック: 配列、ハッシュ テーブル、数学、行列
3 x 3 魔方陣 は、各行、列、および両方の対角線が一致するように、 1 から 9 までの個別の数字で満たされた 3 x 3 のグリッドです。すべて同じ合計になります。
整数の行 x 列グリッドがある場合、3 x 3 の連続する魔方陣サブグリッドはいくつありますか?
注: 魔方陣には 1 ~ 9 の数字のみを含めることができますが、グリッドには最大 15 の数字を含めることができます。
例 1:
これはそうではありません:
指定されたグリッド内にある魔方陣は合計で 1 つだけです。
例 2:
制約:
解決策:
指定されたグリッド内で魔方陣を形成する 3x3 の連続したサブグリッドの数をカウントする必要があります。魔方陣は、すべての行、列、および両方の対角線の合計が同じ値になる 3x3 のグリッドで、1 から 9 までの個別の数字が含まれます。
この問題を解決するには、次の手順に従います:
サブグリッドが Magic かどうかを確認します:
グリッドを反復処理します:
このソリューションを PHP で実装してみましょう: 840。グリッド内の魔方陣
<?php // Example usage: $grid1 = [ [4, 3, 8, 4], [9, 5, 1, 9], [2, 7, 6, 2] ]; echo numMagicSquaresInside($grid1); // Output: 1 $grid2 = [ [18] ]; echo numMagicSquaresInside($grid2); // Output: 0 ?>
isMagic 関数:
numMagicSquaresInside 関数:
このコードは制約内で効率的に動作し、指定されたグリッド内のすべての 3x3 魔方陣サブグリッドをカウントします。
連絡先リンク
このシリーズが役立つと思われた場合は、GitHub で リポジトリ にスターを付けるか、お気に入りのソーシャル ネットワークで投稿を共有することを検討してください。あなたのサポートは私にとって大きな意味を持ちます!
このような役立つコンテンツがさらに必要な場合は、お気軽にフォローしてください:
以上が。グリッド内の魔方陣の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。