📌  相关文章
📜  教资会网络 | UGC NET CS 2018 年 7 月 – II |问题 54(1)

📅  最后修改于: 2023-12-03 15:10:16.375000             🧑  作者: Mango

UGC NET CS 2018 July - II Question 54

本题要求使用 programmers 中使用的编程语言编写程序。程序员需要完成以下任务: 给定一个大小为 "N×N" 的矩阵,程序员需要编写一个程序,该程序可以旋转矩阵的元素 $90$ 度。您可以假设矩阵中的元素都是整数,并且可以使用 $N^2$ 的额外空间。

编程思路

这是一道非常经典的程序设计问题。想象一下题目中的矩阵,我们可以发现将其旋转 $90$ 度后,每一行都会变成一列,因此我们可以将原矩阵逆时针旋转 $90$ 度,然后将每一行翻转,就可以实现 $90$ 度矩阵旋转的操作。

代码实现(Python)
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
Markdown 返回值

程序的完整代码如上所示,返回值是一个旋转后的矩阵。这里不再给出返回值示例。