题目描述:
给定一个矩阵 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(R∗C),其中 RR 和 CC 是给定矩阵 A
的行数和列数。
空间复杂度:O(R * C)O(R∗C),也就是答案所使用的空间。
原文:https://www.cnblogs.com/lisen10/p/10707178.html