Maison > Article > développement back-end > . Matrice spirale III
885. Matrice spirale III
Moyen
Sujets :Tableau, Matrice, Simulation
Vous commencez à la cellule (rStart, cStart) d'une grille lignes x cols orientée vers l'est. Le coin nord-ouest se trouve sur la première ligne et la première colonne de la grille, et le coin sud-est se trouve sur la dernière ligne et la dernière colonne.
Vous marcherez en forme de spirale dans le sens des aiguilles d'une montre pour visiter chaque position de cette grille. Chaque fois que vous sortez de la limite de la grille, nous continuons notre marche en dehors de la grille (mais pouvons revenir à la limite de la grille plus tard). Finalement, on atteint toutes les lignes * cols espaces de la grille.
Renvoyer un tableau de coordonnées représentant les positions de la grille dans l'ordre dans lequel vous les avez visitées.
Exemple 1 :
Exemple 2 :
Contraintes :
Solution :
Pour résoudre ce problème, nous pouvons suivre ces étapes :
Implémentons cette solution en PHP : 885. Matrice spirale III
Explication:
- Directions : le tableau de directions contient le changement de ligne et de colonne pour se déplacer vers l'est, le sud, l'ouest et le nord.
- Mouvement : Nous commençons à (rStart, cStart) et nous déplaçons selon les directions du motif en spirale.
- Vérification des limites : n'ajoutez la position au résultat que si elle se trouve dans la grille.
- Contrôle des pas : stepCount gère le nombre de pas effectués dans la direction actuelle avant de tourner. Il augmente après deux tours.
- Terminaison : La boucle continue jusqu'à ce que toutes les positions de la grille aient été visitées.
Cette approche garantit que nous visitons chaque cellule de la grille dans l'ordre en spirale requis.
Liens de contact
Si vous avez trouvé cette série utile, pensez à donner une étoile au référentiel sur GitHub ou à partager la publication sur vos réseaux sociaux préférés ?. Votre soutien signifierait beaucoup pour moi !
Si vous souhaitez du contenu plus utile comme celui-ci, n'hésitez pas à me suivre :
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!