📅  最后修改于: 2023-12-03 15:10:16.375000             🧑  作者: Mango
本题要求使用 programmers 中使用的编程语言编写程序。程序员需要完成以下任务: 给定一个大小为 "N×N" 的矩阵,程序员需要编写一个程序,该程序可以旋转矩阵的元素 $90$ 度。您可以假设矩阵中的元素都是整数,并且可以使用 $N^2$ 的额外空间。
这是一道非常经典的程序设计问题。想象一下题目中的矩阵,我们可以发现将其旋转 $90$ 度后,每一行都会变成一列,因此我们可以将原矩阵逆时针旋转 $90$ 度,然后将每一行翻转,就可以实现 $90$ 度矩阵旋转的操作。
def rotate_matrix(matrix):
"""
Rotate matrix elements by 90 degrees.
:param matrix: matrix to rotate
:return: rotated matrix
"""
# Reverse rows
matrix = matrix[::-1]
# Transpose
for i in range(len(matrix)):
for j in range(i):
matrix[i][j], matrix[j][i] = matrix[j][i], matrix[i][j]
return matrix
程序的完整代码如上所示,返回值是一个旋转后的矩阵。这里不再给出返回值示例。