Menu
CoddyTech

Rotate Image

Du erhältst ein n × n-Raster aus Ganzzahlen, eine Liste pro Zeile. Drehe es um eine Vierteldrehung im Uhrzeigersinn und gib es zurück. Die oberste Zeile wird zur ganz rechten Spalte, die zweite Zeile zur Spalte links davon und so weiter: Der Wert an Position (i, j) landet an Position (j, n-1-i). Du darfst das Raster direkt verändern; gib es zurück.

Funktion

rotateImage(matrix: integer-2d-array) → integer-2d-array
matrixinteger-2d-array
das quadratische Raster, eine innere Liste pro Zeile
Gibt zurückinteger-2d-array
Die Matrix wurde um 90 Grad im Uhrzeigersinn gedreht.

Einschränkungen

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

Beispiele

Eingabe
matrix = [[3, 7, 1], [9, 5, 2], [4, 8, 6]]
Ausgabe
[[4, 9, 3], [8, 5, 7], [6, 2, 1]]
Erklärung
Die erste Zeile, 3 7 1, wird zur letzten Spalte, von oben nach unten gelesen. Die erste Spalte, 3 9 4, wird, von unten nach oben gelesen, zur ersten Zeile [4, 9, 3]. Der mittlere Wert 5 bleibt an Ort und Stelle.
challenge icon

Weiterführende Frage

Welche zwei Schritte an Ort und Stelle drehen die Matrix um 180 Grad, und kannst du das mit einem einzigen Durchlauf von Vertauschungen erledigen?

Code zurücksetzen
def rotateImage(matrix):
    # Schreibe hier den Code

Test #1

Test #2

Argument

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

Erwartete Ausgabe

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