48-旋转图像

48、旋转图像

https://leetcode-cn.com/problems/rotate-image/

题目:

aFGvJU.png

题解:

方法1:找规律(我一开始的思路就是这样,但是这个规律挺难找我没找出来)

即:任意一个(i,j) , (j, n-i-1), (n-i-1, n-j-1), (n -j-1, i)就是这四个索引号上的数相邻依次交换.

方法2:先数组沿着行中间上下翻折一次,然后沿着正对角线再翻转一次,所得结果即是旋转后的数组(真的顶)

aFJ26J.png

1
2
3
4
5
6
7
8
9
10
11
#方法2
class Solution:
def rotate(self, matrix: List[List[int]]) -> None:
"""
Do not return anything, modify matrix in-place instead.
"""
n=len(matrix)
matrix[:] = matrix[::-1]
for i in range(n):
for j in range(i+1, n):
matrix[i][j], matrix[j][i] = matrix[j][i], matrix[i][j]

当前网速较慢或者你使用的浏览器不支持博客特定功能,请尝试刷新或换用Chrome、Firefox等现代浏览器