2022年。 1D 配列を 2D 配列に変換
難易度: 簡単
トピック: 配列、行列、シミュレーション
0 インデックス付き 1 次元 (1D) 整数配列のオリジナルと、2 つの整数 m と n が与えられます。オリジナルのすべての要素を使用して、m 行 n 列の 2 次元 (2D) 配列を作成することが求められます。
元のインデックス 0 から n - 1 (を含む) の要素は、構築された 2D 配列の最初の行を形成する必要があります。インデックス n から 2 * n - 1 (を含む) の要素は、 ) は、構築された 2D 配列の 2 行目を形成する必要があります。
上記の手順に従って構築された m x n 2D 配列、またはそれが不可能な場合は空の 2D 配列を返します。
例 1:
例 2:
例 3:
制約:
ヒント:
解決策:
次の手順に従う必要があります:
変換が可能かどうかを確認します: 1D 配列から 2D 配列への変換は、1D 配列の要素の合計数 (original.length) が正確に等しい場合にのみ可能です。 m * n。m は行数、n は列数です。この条件が満たされない場合は、空の配列を返します。
2D 配列を作成します: 変換が可能であれば、m 行 n 列の 2D 配列を初期化し、1D 配列を反復処理して 2D 配列の行を埋めることによって配列を設定します。行ごと。
このソリューションを PHP で実装してみましょう: 2022。 1D 配列を 2D 配列に変換
<?php /** * @param Integer[] $original * @param Integer $m * @param Integer $n * @return Integer[][] */ function construct2DArray($original, $m, $n) { ... ... ... /** * go to ./solution.php */ } // Example usage: //Example 1 $original = array(1, 2, 3, 4); $m = 2; $n = 2; print_r(construct2DArray($original, $m, $n)); //Output: [[1,2],[3,4]] //Example 2 $original = array(1, 2, 3); $m = 1; $n = 3; print_r(construct2DArray($original, $m, $n)); //Output: [[1,2,3]] //Example 3 $original = array(1, 2); $m = 1; $n = 1; print_r(construct2DArray($original, $m, $n)); //Output: [] ?>
入力検証:
2D 配列の構築:
提供された例の場合:
$original = array(1, 2, 3, 4); $m = 2; $n = 2; print_r(construct2DArray($original, $m, $n));
出力は次のようになります:
Array ( [0] => Array ( [0] => 1 [1] => 2 ) [1] => Array ( [0] => 3 [1] => 4 ) )
このアプローチにより、1D 配列が目的の 2D 配列に正しく変換されることが保証され、変換が可能かどうかをチェックすることで、特殊なケースを効率的に処理できます。
連絡先リンク
このシリーズが役立つと思われた場合は、GitHub で リポジトリ にスターを付けるか、お気に入りのソーシャル ネットワークで投稿を共有することを検討してください。あなたのサポートは私にとって大きな意味を持ちます!
このような役立つコンテンツがさらに必要な場合は、お気軽にフォローしてください:
以上が配列を配列に変換の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。