给定一个 n × n 的二维矩阵表示一个图像, 将图像顺时针旋转 90 度js实现

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了给定一个 n × n 的二维矩阵表示一个图像, 将图像顺时针旋转 90 度js实现相关的知识,希望对你有一定的参考价值。

参考技术A

题目:
给定一个 n × n 的二维矩阵表示一个图像。
将图像顺时针旋转 90 度。
说明:
你必须在[原地]旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要使用另一个矩阵来旋转图像。
刚开始我大概看了下,就是把矩阵中第n列反序后作为n行,那这就很简单了,我是这么写的:

最后返回的矩阵排序是正确的,不过最后去校验的时候发现是在原来的矩阵里调整,那也简单,我把久的矩阵的值改成和新矩阵相同就可以了:

我这种解法只是发现了这个规律,如果不让用新矩阵作为桥梁,不知还会有那些解法

20191209

给定一个 n × n 的二维矩阵表示一个图像。 将图像顺时针旋转  90 度。

说明:

你必须在原地旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要使用另一个矩阵来旋 转图像。

示例 1:

给定  matrix  =

[

[1,2,3],

[4,5,6],

[7,8,9]

],

原地旋转输入矩阵,使其变为: [

[7,4,1],

[8,5,2],

[9,6,3] 

]

def rotate(matrix):
    n = len(matrix[0])
    for i in range(n):
        for j in range(i,n):
            matrix[j][i], matrix[i][j] = matrix[i][j],matrix[j][i]
            print(matrix)
    for i in range(n):
        matrix.reverse()
    print(matrix)
    return matrix


nums = [
    [1,2,3],
    [4,5,6],
    [7,8,9]
]
print(rotate(nums))

 

 

 

以上是关于给定一个 n × n 的二维矩阵表示一个图像, 将图像顺时针旋转 90 度js实现的主要内容,如果未能解决你的问题,请参考以下文章

矩阵旋转(二维数组旋转)

旋转图像

矩阵的旋转

力扣——旋转图像

力扣48. 旋转图像

力扣48. 旋转图像