LeetCode.867-转置矩阵(Transpose Matrix)

这是悦乐书的第332次更新,第356篇原创

01看题和准备

今天介绍的是LeetCode算法题中Easy级别的第202题(顺位题号是867)。给定矩阵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]]

注意

  • 1 <= A.length <= 1000

  • 1 <= A [0] .length <= 1000

本次解题使用的开发工具是eclipse,jdk使用的版本是1.8,环境是win7 64位系统,使用Java语言编写和测试。

02解题

题目中所说的矩阵是一个二维数组,转置是将其行列元素互换,从两个例子中也可以看出来。将列换成行,行换成列即可。

此解法的时间复杂度是O(RxC),空间复杂度是O(RxC),R是二维数组的行,C是二维数组的列。

public int[][] transpose(int[][] A) {
    int row = A.length, col = A[0].length;
    int[][] result = new int[col][row];
    for (int i=0; i<col; i++) {
        for (int j=0; j<row; j++) {
            result[i][j] = A[j][i];
        }   
    }
    return result;
}

03小结

算法专题目前已连续日更超过五个月,算法题文章202+篇,公众号对话框回复【数据结构与算法】、【算法】、【数据结构】中的任一关键词,获取系列文章合集。
以上就是全部内容,如果大家有什么好的解法思路、建议或者其他问题,可以下方留言交流,点赞、留言、转发就是对我最大的回报和支持!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值