问题:
给定一个矩阵 A
, 返回 A
的转置矩阵。
矩阵的转置是指将矩阵的主对角线翻转,交换矩阵的行索引与列索引。
作为一个算法的菜鸟,这是自己独立做出来的第一道题。虽然很简单,但也是里程碑,从这里开始我的刷题之旅。
算法思想:
实在想不到什么能减少复杂度的算法,一个很简单的思想就是:
step1: 将给定矩阵A的行列长度分别计算出来
step2: 新创建一个二维数组B,将二维数组B的长度和宽度,分别设置为给定矩阵的宽度和长度。
step3: 通过B[j][i] = A[i][j]来对矩阵进行转置
代码:
class Solution {
public int[][] transpose(int[][] A) {
int xlength = A.length;
int ylength = A[0].length;
int[][] B = new int[ylength][xlength];
for(int i = 0;i<xlength;i++){
for(int j = 0;j<ylength;j++){
B[j][i] = A[i][j];
}
}
return B;
}
}