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

本文详细解析了矩阵转置的概念及其实现方法,通过具体示例展示了如何将一个m*n的矩阵转换为n*m的矩阵,适用于理解线性代数中的矩阵操作。

题目:转置矩阵


给定一个矩阵 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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值