You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
class Solution {
public:
vector<vector<int>> transpose(vector<vector<int>>& A) {
int m = A.size(), n = A[0].size();
vector<vector<int>> res(n, vector<int>(m));
for (int i = 0; i < m; ++i) {
for (int j = 0; j < n; ++j) {
res[j][i] = A[i][j];
}
}
return res;
}
};
Given a matrix
A
, return the transpose ofA
.The transpose of a matrix is the matrix flipped over it's main diagonal, switching the row and column indices of the matrix.
Example 1:
Example 2:
Note:
1 <= A.length <= 1000
1 <= A[0].length <= 1000
这道题让我们转置一个矩阵,在大学的线性代数中,转置操作应该说是非常的常见。所谓矩阵的转置,就是把 mxn 的矩阵变为 nxm 的,并且原本在 A[i][j] 位置的数字变到 A[j][i] 上即可,非常的简单直接。而且由于此题又限定了矩阵的大小范围为 [1, 1000],所以不存在空矩阵的情况,因而不用开始时对矩阵进行判空处理,直接去获取矩阵的宽和高即可。又因为之前说了转置会翻转原矩阵的宽和高,所以我们新建一个 nxm 的矩阵,然后遍历原矩阵中的每个数,将他们赋值到新矩阵中对应的位置上即可,参见代码如下:
Github 同步地址:
#867
参考资料:
https://leetcode.com/problems/transpose-matrix/
https://leetcode.com/problems/transpose-matrix/discuss/146797/C%2B%2BJavaPython-Easy-Understood
LeetCode All in One 题目讲解汇总(持续更新中...)
The text was updated successfully, but these errors were encountered: