Menu
CoddyTech

Transpose Matrix

تحصل على مصفوفة من الأعداد الصحيحة على شكل قائمة من الصفوف: matrix[i][j] هي القيمة في الصف i، والعمود j. أعد مصفوفتها المنقولة: تنتقل القيمة الموجودة في الصف i، والعمود j إلى الصف j، والعمود i، بحيث يصبح كل صف عمودًا. ليس من الضروري أن تكون المصفوفة مربعة: فالمصفوفة m × n تصبح مصفوفة n × m.

الدالة

transpose(matrix: integer-2d-array) → integer-2d-array
matrixinteger-2d-array
المصفوفة m × n، على هيئة قائمة تضم m صفوف، في كلٍّ منها n عددًا صحيحًا
تُرجعinteger-2d-array
منقول المصفوفة n × m، على هيئة قائمة من n صفوف، يحتوي كلٌّ منها على m عددًا صحيحًا

القيود

  • 1 ≤ m, n ≤ 1000، حيث m = matrix.length وn = matrix[i].length
  • m × n ≤ 5000
  • كل صف له الطول نفسه n.
  • -1000 ≤ matrix[i][j] ≤ 1000

أمثلة

المدخلات
matrix = [[1, 2, 3], [4, 5, 6]]
المخرجات
[[1, 4], [2, 5], [3, 6]]
الشرح
يصبح الصف [1, 2, 3] العمود الأول، ويصبح [4, 5, 6] العمود الثاني. وعند القراءة صفًا صفًا، تكون النتيجة [1, 4]، [2, 5]، [3, 6]: مصفوفة 3 × 2.
challenge icon

سؤال إضافي

افترض أن المصفوفة مخزنة في مصفوفة مسطحة واحدة من القيم m × n، صفًا بعد صف. هل يمكنك إيجاد منقول مصفوفة غير مربعة داخل تلك المصفوفة، من دون استخدام مصفوفة ثانية؟

إعادة ضبط الشيفرة
def transpose(matrix):
    # اكتب الكود هنا

اختبار #1

اختبار #2

وسيط

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

الإخراج المتوقع

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