renjie-run / blog

Personal Blog
2 stars 0 forks source link

[算法] - 转置矩阵 #26

Open renjie-run opened 3 years ago

renjie-run commented 3 years ago

难度等级:简单

给你一个二维整数数组 matrix, 返回 matrix 的 转置矩阵 。 矩阵的 转置 是指将矩阵的主对角线翻转,交换矩阵的行索引与列索引。 image

示例 1:

输入:matrix = [[1,2,3],[4,5,6],[7,8,9]]
输出:[[1,4,7],[2,5,8],[3,6,9]]

示例 2:

输入:matrix = [[1,2,3],[4,5,6]]
输出:[[1,4],[2,5],[3,6]]

来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/transpose-matrix

renjie-run commented 3 years ago

较为耗空间的一种解法:

/**
 * @param {number[][]} matrix
 * @return {number[][]}
 */
var transpose = function(matrix) {
    const m = matrix.length;
    const n = matrix[0].length;
    const transposedMatrix = [];
    for (let i = 0; i < m; i++) {
        for (let j = 0; j < n; j++) {
            const item = matrix[i][j];
            if (transposedMatrix[j]) {
                transposedMatrix[j][i] = item;
            } else {
                transposedMatrix[j] = [item];
            }
        }
    }
    return transposedMatrix;
};