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 matrice obtenue en transformant chaque ligne en colonne. La valeur située à la ligne i, colonne j passe à la ligne j, colonne i. 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 de dimensions 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 première ligne [1, 2, 3] devient la première colonne et [4, 5, 6] la deuxième. En lisant le résultat ligne par ligne, on obtient [1, 4], [2, 5], [3, 6] : la matrice 2 × 3 est devenue une matrice 3 × 2.

lock icon+15 tests cachés à la soumission

challenge icon

Pour aller plus loin

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

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

Cas 1

Cas 2

Entrée

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

Attendu

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