给你一个二维整数数组 matrix, 返回 matrix 的 转置矩阵 。
矩阵的 转置 是指将矩阵的主对角线翻转,交换矩阵的行索引与列索引。

示例 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行n列,我们先可以先将一个n行m列的二维数组全部初始化为0,然后将原矩阵中第i行j列的元素赋值给新矩阵中第j行i列的元素。
vector<vector<int>> transpose(vector<vector<int>>& matrix)
{
int m = matrix.size();
int n = matrix[0].size();
vector<vector<int>> res(n, vector<int>(m, 0));
for (int i = 0; i < m; i++)
{
for (int j = 0; j < n; j++)
{
res[j][i] = matrix[i][j];
}
}
return res;
}
这篇博客介绍了如何通过编程实现矩阵的转置操作。给定一个二维整数数组,算法首先创建一个与原矩阵列数等于行数的新矩阵,并初始化为0。接着,通过两层循环,将原矩阵的每个元素按行优先顺序赋值到新矩阵的对应位置,即原矩阵的第i行j列元素赋值给新矩阵的第j行i列。最后返回转置后的矩阵。这种方法有效地交换了矩阵的行和列。
2047

被折叠的 条评论
为什么被折叠?



