2023年9月20日 星期三

9/19 每日一題(轉置矩陣)

 Given a 2D integer array matrix, return the transpose of matrix.

The transpose of a matrix is the matrix flipped over its main diagonal, switching the matrix's row and column indices.

 

Example 1:

Input: matrix = [[1,2,3],[4,5,6],[7,8,9]]
Output: [[1,4,7],[2,5,8],[3,6,9]]

Example 2:

Input: matrix = [[1,2,3],[4,5,6]]
Output: [[1,4],[2,5],[3,6]]

 

Constraints:

  • m == matrix.length
  • n == matrix[i].length
  • 1 <= m, n <= 1000
  • 1 <= m * n <= 105
  • -109 <= matrix[i][j] <= 109

# import numpy as np
class Solution:
    def transpose(self, matrix: List[List[int]]) -> List[List[int]]:
        # return np.array(matrix).T
        m=len(matrix)
        n=len(matrix[0])

        new_array=[[0]*m for i in range(n)]

        for i in range(m):

            for j in range(n):
                new_array[j][i]=matrix[i][j]
        return new_array
       
----------------------------------------------------------


from typing import List

class Solution:
    def transpose(self, matrix: List[List[int]]) -> List[List[int]]:
        return [[matrix[j][i] for j in range(len(matrix))] for i in range(len(matrix[0]))]


----------------------------
class Solution:
    def transpose(self, matrix: List[List[int]]) -> List[List[int]]:
        a = []
        r = len(matrix)
        c = len(matrix[0])
        t = []
        for i in range(c):
            for j in range(r):
                t.append(matrix[j][i])
            a.append(t)
            t = []
        return a
        

標籤:

0 個意見:

張貼留言

訂閱 張貼留言 [Atom]

<< 首頁