用 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.