ホームページ >バックエンド開発 >PHPチュートリアル >スパイラル マトリックス IV
2326。スパイラル・マトリックス IV
難易度: 中
トピック: 配列、リンク リスト、行列、シミュレーション
行列の次元を表す 2 つの整数 m と n が与えられます。
整数のリンクされたリストの先頭も与えられます。
行列の 左上 から開始して、スパイラル 順 (時計回り) で示されるリンク リスト内の整数を含む m x n 行列を生成します。 。空きスペースが残っている場合は、-1 を埋めます。
生成された行列を返します。
例 1:
例 2:
例 3:
制約:
ヒント:
解決策:
m x n 行列のスパイラル トラバーサルをシミュレートし、リンク リストの値を行列に入力します。対応するリンク リストの値がない残りの位置は、-1 で埋められます。
ソリューションの構造は次のとおりです:
このソリューションを PHP で実装してみましょう: 2326。スパイラル・マトリックス IV
<?php class ListNode { public $val = 0; public $next = null; function __construct($val = 0, $next = null) { $this->val = $val; $this->next = $next; } } /** * @param Integer $m * @param Integer $n * @param ListNode $head * @return Integer[][] */ function spiralMatrix($m, $n, $head) { ... ... ... /** * go to ./solution.php */ } // Helper function to print the matrix (for debugging) function printMatrix($matrix) { foreach ($matrix as $row) { echo implode(" ", $row) . "\n"; } } // Example usage: // Create the linked list: [3,0,2,6,8,1,7,9,4,2,5,5,0] $head = new ListNode(3); $head->next = new ListNode(0); $head->next->next = new ListNode(2); $head->next->next->next = new ListNode(6); $head->next->next->next->next = new ListNode(8); $head->next->next->next->next->next = new ListNode(1); $head->next->next->next->next->next->next = new ListNode(7); $head->next->next->next->next->next->next->next = new ListNode(9); $head->next->next->next->next->next->next->next->next = new ListNode(4); $head->next->next->next->next->next->next->next->next->next = new ListNode(2); $head->next->next->next->next->next->next->next->next->next->next = new ListNode(5); $head->next->next->next->next->next->next->next->next->next->next->next = new ListNode(5); $head->next->next->next->next->next->next->next->next->next->next->next->next = new ListNode(0); $m = 3; $n = 5; $matrix = spiralMatrix($m, $n, $head); printMatrix($matrix); ?>
行列の初期化: 行列は -1 で初期化されるため、埋められていないスペースはデフォルトで -1 のままになります。
螺旋運動:
リンクリストトラバーサル:
境界と方向の変更:
連絡先リンク
このシリーズが役立つと思われた場合は、GitHub で リポジトリ にスターを付けるか、お気に入りのソーシャル ネットワークで投稿を共有することを検討してください。あなたのサポートは私にとって大きな意味を持ちます!
このような役立つコンテンツがさらに必要な場合は、お気軽にフォローしてください:
以上がスパイラル マトリックス IVの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。