ホームページ >バックエンド開発 >PHPチュートリアル >グリッド内の最大移動数
2684。グリッド内の最大移動数
難易度: 中
トピック: 配列、動的計画法、行列
正の整数で構成される0インデックス m x n行列グリッドが与えられます。
行列の最初の列の任意のセルから開始し、次の方法でグリッドを移動できます。
実行できる動きの最大数を返します。
例 1:
例 2:
制約:
ヒント:
解決策:
動的プログラミング (DP) を使用して、最初の列の任意のセルから開始して、各セルの最大手数を追跡できます。段階的なアプローチは次のとおりです:
DP 配列の定義: dp[row][col] を、grid[row][col] から開始して可能な移動の最大数を表します。これをすべてのセルに対して 0 で初期化します。
グリッドをトラバースします:
最大移動量の計算:
エッジケース:
2684。グリッド内の最大移動数
<?php /** * @param Integer[][] $grid * @return Integer */ function maxMoves($grid) { ... ... ... /** * go to ./solution.php */ } // Example usage: $grid1 = [[2,4,3,5],[5,4,9,3],[3,4,2,11],[10,9,13,15]]; $grid2 = [[3,2,4],[2,1,9],[1,1,7]]; echo maxMoves($grid1); // Output: 3 echo "\n"; echo maxMoves($grid2); // Output: 0 ?>説明:
このシリーズが役立つと思われた場合は、GitHub で
リポジトリにスターを付けるか、お気に入りのソーシャル ネットワークで投稿を共有することを検討してください。あなたのサポートは私にとって大きな意味を持ちます! このような役立つコンテンツがさらに必要な場合は、お気軽にフォローしてください:
以上がグリッド内の最大移動数の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。