用 Python 旋轉影像


假設我們有一個 2D 矩陣,它表示一張影像。我們必須將此影像旋轉 90 度順時針。因此,如果影像如下所示

157
963
213

那麼輸出將是

291
165
337

為了解決這個問題,我們將遵循以下步驟 -

  • 考慮 temp_mat = [],col := 矩陣長度 - 1
  • col 在 0 到矩陣長度的範圍內
    • temp := []
    • row 在矩陣長度 - 1 到 -1 的範圍內
      • 將 matrix[row, col] 新增到 temp 中
    • 將 temp 新增到 temp_mat 中
  • i 在 0 到矩陣長度的範圍內
    • j 在 0 到矩陣長度的範圍內
      • matrix[i, j] := temp_mat[i, j]

示例(Python)

讓我們看以下實現以獲得更好的理解 -

 即時演示

class Solution(object):
   def rotate(self, matrix):
      temp_matrix = []
      column = len(matrix)-1
      for column in range(len(matrix)):
         temp = []
         for row in range(len(matrix)-1,-1,-1):
            temp.append(matrix[row][column])
         temp_matrix.append(temp)
      for i in range(len(matrix)):
         for j in range(len(matrix)):
            matrix[i][j] = temp_matrix[i][j]
      return matrix
ob1 = Solution()
print(ob1.rotate([[1,5,7],[9,6,3],[2,1,3]]))

輸入

[[1,5,7],[9,6,3],[2,1,3]]

輸出

[[2,9,1],[1,6,5],[3,3,7]]

更新日期: 2020 年 4 月 27 日

378 次瀏覽

開啟您的事業

完成課程獲得認證

開始學習
廣告
© . All rights reserved.