Maison > Article > développement back-end > Exemple de mise en œuvre d'une matrice d'impression dans le sens des aiguilles d'une montre (matrice spirale) en PHP
Cet article présente principalement la méthode de réalisation d'une matrice d'impression dans le sens des aiguilles d'une montre (matrice spirale) en PHP, impliquant les compétences opérationnelles associées de PHP basées sur le parcours de tableau et l'impression de simulation d'opération pour réaliser la fonction de matrice spirale. en PHP Les amis peuvent se référer à cet article.
L'exemple de cet article décrit la méthode d'impression d'une matrice dans le sens des aiguilles d'une montre en PHP. Partagez-le avec tout le monde pour votre référence. Les détails sont les suivants :
Question
Saisissez une matrice et imprimez-la dans le sens des aiguilles d'une montre depuis l'extérieur. à l'intérieur. Imprimez chaque nombre. Par exemple, si vous entrez la matrice suivante :
1 | 2 | 3 | 4 |
5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 |
, alors les nombres 1,2,3,4,8,12,16,15,14,13. ,9,5 sera imprimé dans l'ordre 6,7,11,10.
La solution
est d'imprimer en cercles. , tant que la boucleC'est tout.
Faites attention à la situation d'une seule ligne et d'une seule colonne.
Code d'implémentation
<?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; }
Ce qui précède est tout le contenu de cet article, j'espère que cela pourra aider tout le monde à apprendre ! !
Recommandations associées :
Méthode d'implémentation PHP pour déterminer si un arbre binaire est symétrique
chaîne phpL'inversion est souvent rencontrée dans les entretiens
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!