Menu
CoddyTech

Rotate Image

On vous donne une grille n × n d’entiers, une liste par ligne. Faites-la pivoter d’un quart de tour dans le sens horaire et renvoyez-la. La première ligne devient la colonne la plus à droite, la deuxième ligne la colonne située à sa gauche, et ainsi de suite : la valeur en (i, j) se retrouve en (j, n-1-i). Vous pouvez modifier la grille sur place ; renvoyez-la.

Fonction

rotateImage(matrix: integer-2d-array) → integer-2d-array
matrixinteger-2d-array
la grille carrée, une liste interne par ligne
Renvoieinteger-2d-array
la matrice a pivoté de 90 degrés dans le sens des aiguilles d’une montre

Contraintes

  • n == matrix.length == matrix[i].length
  • 1 ≤ n ≤ 70
  • -1000 ≤ matrix[i][j] ≤ 1000

Exemples

Entrée
matrix = [[3, 7, 1], [9, 5, 2], [4, 8, 6]]
Sortie
[[4, 9, 3], [8, 5, 7], [6, 2, 1]]
Explication
La première ligne, 3 7 1, devient la dernière colonne, lue de haut en bas. La première colonne, 3 9 4, lue de bas en haut, devient la première ligne [4, 9, 3]. La valeur centrale 5 reste en place.
challenge icon

Pour aller plus loin

Quelles sont les deux opérations en place qui font pivoter la matrice de 180 degrés, et peux-tu le faire en un seul passage d’échanges ?

Réinitialiser le code
def rotateImage(matrix):
    # Écrivez le code ici

Test #1

Test #2

Argument

matrix = [[3, 7, 1], [9, 5, 2], [4, 8, 6]]

Résultat attendu

[[4, 9, 3], [8, 5, 7], [6, 2, 1]]