Menu
CoddyTech

Transpose Matrix

BaşlangıçDiziler ve dizgilerpython iconjava iconcpp iconc iconjs icon+10

Bir satır listesi olarak bir tamsayı matrisi alırsın: matrix[i][j], i. satırdaki j. sütunun değeridir. Transpozunu döndür: i. satırdaki j. sütunun değeri j. satırdaki i. sütuna taşınır; böylece her satır bir sütun olur. Matrisin kare olması gerekmez: m × n boyutundaki bir matris, n × m boyutunda bir matrise dönüşür.

Fonksiyon

transpose(matrix: integer-2d-array) → integer-2d-array
matrixinteger-2d-array
m × n matrisi, her biri n tam sayıdan oluşan m satırlık bir liste olarak
Döndürürinteger-2d-array
n satır ve her satırda m tam sayı bulunan n × m transpozu

Kısıtlar

  • 1 ≤ m, n ≤ 1000; burada m = matrix.length ve n = matrix[i].length
  • m × n ≤ 5000
  • Her satırın uzunluğu n ile aynıdır.
  • -1000 ≤ matrix[i][j] ≤ 1000

Örnekler

Girdi
matrix = [[1, 2, 3], [4, 5, 6]]
Çıktı
[[1, 4], [2, 5], [3, 6]]
Açıklama
[1, 2, 3] satırı ilk sütun, [4, 5, 6] ise ikinci sütun olur. Satır satır okunduğunda sonuç [1, 4], [2, 5], [3, 6] şeklindedir: 3 × 2'lik bir matris.
challenge icon

Ek soru

Matrisin, satır satır sıralanmış m × n değerden oluşan tek bir düz dizide saklandığını varsayalım. İkinci bir dizi kullanmadan, kare olmayan bir matrisi bu dizinin içinde transpoze edebilir misin?

Kodu sıfırla
def transpose(matrix):
    # Kodu buraya yazın

Test #1

Test #2

Argüman

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

Beklenen Çıktı

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