Heim > Artikel > Backend-Entwicklung > Konvertieren Sie ein Array in ein Array
2022. Konvertieren Sie ein 1D-Array in ein 2D-Array
Schwierigkeit:Einfach
Themen:Array, Matrix, Simulation
Sie erhalten ein 0-indiziertes eindimensionales (1D) Ganzzahl-Array-Original und zwei Ganzzahlen, m und n. Ihre Aufgabe besteht darin, ein zweidimensionales (2D) Array mit m Zeilen und n Spalten unter Verwendung aller Elemente des Originals zu erstellen.
Die Elemente mit den Indizes 0 bis n - 1 (einschließlich) des Originals sollten die erste Zeile des konstruierten 2D-Arrays bilden, die Elemente mit den Indizes n bis 2 * n - 1 (einschließlich). ) sollte die zweite Zeile des erstellten 2D-Arrays bilden und so weiter.
Gib ein m x n 2D-Array zurück, das gemäß dem obigen Verfahren erstellt wurde, oder ein leeres 2D-Array, wenn dies nicht möglich ist.
Beispiel 1:
Beispiel 2:
Beispiel 3:
Einschränkungen:
Hinweis:
Lösung:
Wir müssen diese Schritte befolgen:
Überprüfen Sie, ob eine Konvertierung möglich ist: Die Konvertierung von einem 1D-Array in ein 2D-Array ist nur möglich, wenn die Gesamtzahl der Elemente im 1D-Array (original.length) genau gleich ist m * n, wobei m die Anzahl der Zeilen und n die Anzahl der Spalten ist. Wenn diese Bedingung nicht erfüllt ist, geben Sie ein leeres Array zurück.
Erstellen Sie das 2D-Array: Wenn die Konvertierung möglich ist, initialisieren Sie ein 2D-Array mit m Zeilen und n Spalten und füllen Sie es, indem Sie über das 1D-Array iterieren und die Zeile des 2D-Arrays ausfüllen zeilenweise.
Lassen Sie uns diese Lösung in PHP implementieren: 2022. Konvertieren Sie ein 1D-Array in ein 2D-Array
<?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: [] ?> <h3> Erläuterung: </h3> <ul> <li> <p><strong>Eingabevalidierung</strong>:</p> <ul> <li>Wir berechnen zunächst die Länge des ursprünglichen Arrays.</li> <li>Wenn die Länge nicht gleich m * n ist, ist die Konvertierung nicht möglich und wir geben ein leeres Array zurück.</li> </ul> </li> <li> <p><strong>2D-Array-Konstruktion</strong>:</p> <ul> <li>Wir initialisieren ein 2D-Array mit dem Namen $result.</li> <li>Wir verwenden eine verschachtelte Schleife, bei der die äußere Schleife m-mal (für jede Zeile) und die innere Schleife n-mal (für jede Spalte in einer Zeile) ausgeführt wird.</li> <li>Wir pflegen einen Index $index, der unsere Position im ursprünglichen Array verfolgt und ihn erhöht, wenn wir Elemente im 2D-Array platzieren.</li> </ul> </li> </ul> <h3> Beispielausgabe: </h3> <p>Für das bereitgestellte Beispiel:<br> </p> <pre class="brush:php;toolbar:false">$original = array(1, 2, 3, 4); $m = 2; $n = 2; print_r(construct2DArray($original, $m, $n));
Die Ausgabe wird sein:
Array ( [0] => Array ( [0] => 1 [1] => 2 ) [1] => Array ( [0] => 3 [1] => 4 ) )
Dieser Ansatz stellt sicher, dass das 1D-Array korrekt in das gewünschte 2D-Array konvertiert wird, und er verarbeitet Randfälle effizient, indem er prüft, ob die Konvertierung möglich ist.
Kontaktlinks
Wenn Sie diese Serie hilfreich fanden, denken Sie bitte darüber nach, dem Repository einen Stern auf GitHub zu geben oder den Beitrag in Ihren bevorzugten sozialen Netzwerken zu teilen? Ihre Unterstützung würde mir sehr viel bedeuten!
Wenn Sie weitere hilfreiche Inhalte wie diesen wünschen, folgen Sie mir gerne:
Das obige ist der detaillierte Inhalt vonKonvertieren Sie ein Array in ein Array. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!