LeetCode算法题(数组相关)(一)——转置矩阵

问题:

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

 


版权声明:本文为huihuisd原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。