In diesem Artikel wird hauptsächlich die Methode zur Realisierung einer Druckmatrix im Uhrzeigersinn (Spiralmatrix) in PHP vorgestellt und die zugehörigen Betriebsfähigkeiten von PHP zur Realisierung der Spiralmatrixfunktion basierend auf Array-Traversierung und Operationssimulationsdrucken berücksichtigt it
Das Beispiel in diesem Artikel beschreibt die Methode zum Drucken einer Matrix im Uhrzeigersinn in PHP. Teilen Sie es als Referenz mit allen:
Frage
Geben Sie eine Matrix ein und drucken Sie sie im Uhrzeigersinn von außen aus nach innen. Wenn Sie beispielsweise die folgende Matrix eingeben:
1 | 2 | 3 | 4 |
5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 |
, dann sind die Zahlen 1,2,3,4,8, 12,16,15 werden nacheinander ausgedruckt ,14,13,9,5,6,7,11,10.
Die Lösung
besteht darin, im Kreis zu drucken, solange der Zyklus gut kontrolliert wird.
Achten Sie auf die Situation einer einzelnen Zeile und einer einzelnen Spalte.
Implementierungscode
<?php function printMatrix($matrix) { $row = count($matrix); $col = count($matrix[0]); if($row == 0 || $col == 0) return $matrix; $result = array(); $left = 0;$right = $col-1; $top = 0;$bottom = $row-1; while($left<=$right && $top<= $bottom){ for($i =$left;$i<=$right;++$i){ array_push($result, $matrix[$top][$i]); } for($i =$top+1;$i<=$bottom;++$i) array_push($result, $matrix[$i][$right]); if($top!=$bottom){ for($i = $right-1;$i>=$left;--$i) array_push($result, $matrix[$bottom][$i]); } if($left!=$right){ for($i = $bottom-1;$i>$top;--$i) array_push($result, $matrix[$i][$left]); } $left++;$right--;$top++;$bottom--; } return $result; }
Erklärung der Methode zur Bestimmung, ob ein Binärbaum in PHP symmetrisch ist
Erklärung, wie man das erste sich nicht wiederholende Zeichen im Zeichenstrom in PHP erhält
Das obige ist der detaillierte Inhalt vonEin Beispiel für die Implementierung einer Druckmatrix im Uhrzeigersinn (Spiralmatrix) in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!