首页 > 其他 > 详细

leetcode之转置矩阵

时间:2019-04-14 21:37:59      阅读:154      评论:0      收藏:0      [点我收藏+]

转置矩阵

题目描述:

给定一个矩阵 A, 返回 A 的转置矩阵。

矩阵的转置是指将矩阵的主对角线翻转,交换矩阵的行索引与列索引。

示例 1:

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

示例 2:

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


解题:
尺寸为 R x C 的矩阵 A 转置后会得到尺寸为 C x R 的矩阵 ans,对此有 ans[c][r] = A[r][c]。

class Solution {
    public int[][] transpose(int[][] A) {
        int row = A.length;
        int col = A[0].length;
        int[][] arr = new int[col][row];
        
        for(int r=0; r<row; r++){
            for(int c=0; c<col; c++){
                arr[c][r] = A[r][c];  //行变列,列变行
            }
        }
        return arr;
    }
}

 

复杂度分析

  • 时间复杂度:O(R * C)O(RC),其中 RR 和 CC 是给定矩阵 A 的行数和列数。

  • 空间复杂度:O(R * C)O(RC),也就是答案所使用的空间。

leetcode之转置矩阵

原文:https://www.cnblogs.com/lisen10/p/10707178.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!