欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

LeetCode每日一题: 转置矩阵(No.867)

程序员文章站 2024-03-22 11:17:10
...

题目:转置矩阵


给定一个矩阵 A, 返回 A 的转置矩阵。
矩阵的转置是指将矩阵的主对角线翻转,交换矩阵的行索引与列索引。
复制代码

示例:


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

输入:[[1,2,3],[4,5,6]]
输出:[[1,4],[2,5],[3,6]]
复制代码

思考:


一个m*n的矩阵,按题目的要求转置后会变成n*m的矩阵。
按照题意,转置规则就是第[m][n]个元素与第[n][m]个元素贾环交换。
所以新new一个二维数组,将就数组中的第[m][n]个元素赋值到新数组第[n][m]个元素位置上即可。
复制代码

实现:


class Solution {
    public int[][] transpose(int[][] A) {
        int row = A.length, col = A[0].length;
        int[][] result = new int[col][row];
        for (int m = 0; m < row; ++m)
            for (int n = 0; n < col; ++n) {
                result[n][m] = A[m][n];
            }
        return result;
    }
}复制代码

转载于:https://juejin.im/post/5cb95c6ef265da039f0f0c61