假设我们有一个2D矩阵,代表一个图像。我们必须将该图像顺时针旋转90度。所以如果图像像
1 | 5 | 7 |
9 | 6 | 3 |
2 | 1 | 3 |
然后输出将是
2 | 9 | 1 |
1 | 6 | 5 |
3 | 3 | 7 |
为了解决这个问题,我们将遵循以下步骤-
考虑temp_mat = [],col:=矩阵长度– 1
对于0到矩阵长度的col
在温度中添加matrix [row,col]
temp:= []
用于矩阵范围长度内的行– 1到-1
将temp添加到temp_mat
对于范围从0到矩阵长度的i
矩阵[i,j]:= temp_mat [i,j]
对于范围从0到矩阵长度的j
让我们看下面的实现以更好地理解-
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]]