Пошук уроків, статей та іншого контенту
Поміняйте рядки і стовпці матриці місцями.
Напишіть функцію solve(matrix), яка приймає матрицю (масив масивів чисел однакової довжини) і повертає її транспоновану версію — елемент на позиції (рядок i, стовпець j) у результаті дорівнює елементу на позиції (рядок j, стовпець i) вихідної матриці. Для порожньої матриці поверніть порожній масив.
Приклади
Вхід: [[1, 2, 3], [4, 5, 6]]
Вихід: [[1, 4], [2, 5], [3, 6]]
Вхід: []
Вихід: []
Обмеження: Усі рядки матриці мають однакову довжину.
Ваше рішення
Підказки
Кількість рядків результату дорівнює кількості стовпців matrix (довжині matrix[0]), а кількість стовпців результату — кількості рядків matrix.
matrix[0].map((_, colIndex) => matrix.map(row => row[colIndex])) будує новий рядок результату для кожного індексу стовпця вихідної матриці.
function solve(matrix) {
if (matrix.length === 0) return [];
return matrix[0].map((_, colIndex) => matrix.map((row) => row[colIndex]));
}Зовнішній map() перебирає індекси стовпців вихідної матриці (за довжиною першого рядка) — саме стільки рядків буде в результаті. Для кожного індексу стовпця внутрішній map() збирає елемент з цим індексом з кожного рядка matrix, формуючи новий рядок результату.