867. Transpose Matrix(python+cpp)
阿新 • • 發佈:2018-12-14
題目:
Given a matrix A, return the transpose of A. 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:
Input: [[1,2,3],[4,5,6],[7,8,9]] Output: [[1,4,7],[2,5,8],[3,6,9]] Example 2:
Input: [[1,2,3],[4,5,6]] Output: [[1,4],[2,5],[3,6]]
Note:
1 <= A.length <= 1000 1 <= A[0].length <= 1000
解釋: 求一個矩陣的轉置,用暴力解法即可… python程式碼:
class Solution(object): def transpose(self, A): """ :type A: List[List[int]] :rtype: List[List[int]] """ if not A: return m=len(A) n=len(A[0]) result=[ [0 for j in range(m)] for i in range(n)] for i in range(m): for j in range(n): result[j][i]=A[i][j] return result
c++程式碼:
class Solution { public: vector<vector<int>> transpose(vector<vector<int>>& A) { int m=A.size(); int n=A[0].size(); //建立一個二維陣列並且初始化為0 vector<vector<int>> result(n,vector<int>(m,0)); for(int j=0;j<n;j++) { for(int i=0;i<m;i++) { result[j][i]=A[i][j]; } } return result; } };
總結:
學會使用cpp中vector的初始化,vector<int>result(n,0);