Menu
CoddyTech

Rotate Image

Ti viene fornita una griglia n × n di numeri interi, una lista per riga. Ruotala di un quarto di giro in senso orario e restituiscila. La riga superiore diventa la colonna più a destra, la seconda riga la colonna alla sua sinistra e così via: il valore in (i, j) finisce in (j, n-1-i). Puoi modificare la griglia sul posto; restituiscila.

Funzione

rotateImage(matrix: integer-2d-array) → integer-2d-array
matrixinteger-2d-array
la griglia quadrata, una lista interna per ogni riga
Restituisceinteger-2d-array
la matrice è stata ruotata di 90 gradi in senso orario

Vincoli

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

Esempi

Input
matrix = [[3, 7, 1], [9, 5, 2], [4, 8, 6]]
Output
[[4, 9, 3], [8, 5, 7], [6, 2, 1]]
Spiegazione
La prima riga, 3 7 1, diventa l'ultima colonna, letta dall'alto verso il basso. La prima colonna, 3 9 4, letta dal basso verso l'alto, diventa la prima riga [4, 9, 3]. Il valore centrale 5 resta al suo posto.
challenge icon

Per approfondire

Quali due passaggi in-place ruotano la matrice di 180 gradi, e puoi farlo con un unico passaggio di scambi?

Ripristina il codice
def rotateImage(matrix):
    # Scrivi il codice qui

Test #1

Test #2

Argomento

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

Output atteso

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