美文网首页
教3妹学编程: 867. 转置矩阵

教3妹学编程: 867. 转置矩阵

作者: 程序员小2 | 来源:发表于2022-05-28 09:57 被阅读0次

    2哥:3妹,又到了每日刷一题的时间了。

    3妹:哦,2哥呀,今天是周六,我想好好休息一下, 睡个懒觉,看看浪姐3。

    2哥:那我们今天做个简单的吧。

    题目

    给你一个二维整数数组 matrix, 返回 matrix 的 转置矩阵 。

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

    image.png

    示例 1:

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

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

    提示:

    m == matrix.length
    n == matrix[i].length
    1 <= m, n <= 1000
    1 <= m * n <= 10^5
    -10^9 <= matrix[i][j] <= 10^9

    思路:

    3妹
    这题简单,给我5分钟。
    如果矩阵matrix 为 mm行 n 列,则转置后的矩阵 newtrix为 n 行 m列,且对任意0≤i<m 和 0≤j<n,都有 newtrix[j][i] = matrix[i][j]。

    创建一个 n 行 m列的新矩阵,根据转置的规则对新矩阵中的每个元素赋值,则新矩阵为转置后的矩阵。

    java代码:

    class Solution {
        public int[][] transpose(int[][] matrix) {
            int m = matrix.length, n = matrix[0].length;
            int[][] transposed = new int[n][m];
            for (int i = 0; i < m; i++) {
                for (int j = 0; j < n; j++) {
                    transposed[j][i] = matrix[i][j];
                }
            }
            return transposed;
        }
    }
    

    相关文章

      网友评论

          本文标题:教3妹学编程: 867. 转置矩阵

          本文链接:https://www.haomeiwen.com/subject/obpvprtx.html