Menu
CoddyTech

Transpose Matrix

Tu reçois une matrice d’entiers sous forme de liste de lignes : matrix[i][j] est la valeur de la ligne i, colonne j. Renvoie sa transposée : la valeur située à la ligne i, colonne j passe à la ligne j, colonne i, de sorte que chaque ligne devient une colonne. La matrice n’a pas besoin d’être carrée : une matrice m × n devient une matrice n × m.

Fonction

transpose(matrix: integer-2d-array) → integer-2d-array
matrixinteger-2d-array
la matrice m × n, sous forme d’une liste de m lignes de n entiers
Renvoieinteger-2d-array
la transposée n × m, sous forme d’une liste de n lignes de m entiers

Contraintes

  • 1 ≤ m, n ≤ 1000, où m = matrix.length et n = matrix[i].length
  • m × n ≤ 5000
  • Chaque ligne a la même longueur n.
  • -1000 ≤ matrix[i][j] ≤ 1000

Exemples

Entrée
matrix = [[1, 2, 3], [4, 5, 6]]
Sortie
[[1, 4], [2, 5], [3, 6]]
Explication
La ligne [1, 2, 3] devient la première colonne et [4, 5, 6] la deuxième. En lisant ligne par ligne, le résultat est [1, 4], [2, 5], [3, 6] : une matrice de 3 × 2.
challenge icon

Pour aller plus loin

Supposons que la matrice soit stockée dans un tableau plat contenant m × n valeurs, ligne après ligne. Peux-tu transposer une matrice non carrée directement dans ce tableau, sans utiliser de second tableau ?

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

Test #1

Test #2

Argument

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

Résultat attendu

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