Menu
CoddyTech

Transpose Matrix

EinsteigerArrays und Stringspython iconjava iconcpp iconc iconjs icon+10

Du erhältst eine Matrix aus Ganzzahlen als Liste von Zeilen: matrix[i][j] ist der Wert in Zeile i, Spalte j. Gib ihre Transponierte zurück, also die Matrix, die entsteht, wenn jede Zeile in eine Spalte umgewandelt wird. Der Wert in Zeile i, Spalte j wandert in Zeile j, Spalte i. Die Matrix muss nicht quadratisch sein: Eine m × n-Matrix wird zu einer n × m-Matrix.

Funktion

transpose(matrix: integer-2d-array) → integer-2d-array
matrixinteger-2d-array
die m × n-Matrix als Liste aus m Zeilen mit jeweils n Ganzzahlen
Gibt zurückinteger-2d-array
die Transponierte einer n × m-Matrix als Liste mit n Zeilen aus jeweils m Ganzzahlen

Einschränkungen

  • 1 ≤ m, n ≤ 1000, wobei m = matrix.length und n = matrix[i].length
  • m × n ≤ 5000
  • Jede Zeile hat dieselbe Länge n.
  • -1000 ≤ matrix[i][j] ≤ 1000

Beispiele

Eingabe
matrix = [[1, 2, 3], [4, 5, 6]]
Ausgabe
[[1, 4], [2, 5], [3, 6]]
Erklärung
Die erste Zeile [1, 2, 3] wird zur ersten Spalte und [4, 5, 6] zur zweiten. Liest man das Ergebnis zeilenweise, erhält man [1, 4], [2, 5], [3, 6]: Die 2 × 3-Matrix wurde in eine 3 × 2-Matrix umgewandelt.

lock icon+15 versteckte Tests beim Einreichen

challenge icon

Weiterführende Frage

Angenommen, die Matrix ist als ein einziges flaches Array aus m × n Werten gespeichert, Zeile für Zeile. Kannst du eine nicht quadratische Matrix innerhalb dieses Arrays transponieren, ohne ein zweites Array zu verwenden?

Code zurücksetzen
def transpose(matrix):
    # Schreibe hier Code
Testfälle

Fall 1

Fall 2

Eingabe

matrix = [[1, 2, 3], [4, 5, 6]]

Erwartet

[[1, 4], [2, 5], [3, 6]]