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: Der Wert in Zeile i, Spalte j wird in Zeile j, Spalte i verschoben, sodass jede Zeile zu einer Spalte wird. 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 n Ganzzahlen
Gibt zurückinteger-2d-array
die n × m-Transponierte, als Liste aus n Zeilen mit 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 Zeile [1, 2, 3] wird zur ersten Spalte und [4, 5, 6] zur zweiten. Zeilenweise gelesen lautet das Ergebnis [1, 4], [2, 5], [3, 6]: eine 3 × 2-Matrix.
challenge icon

Weiterführende Frage

Angenommen, die Matrix ist als ein 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?

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

Test #1

Test #2

Argument

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

Erwartete Ausgabe

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