Leetcode刷题日记(2020.6.11):旋转矩阵

题目如下:

Leetcode刷题日记(2020.6.11):旋转矩阵_第1张图片

 

 Leetcode刷题日记(2020.6.11):旋转矩阵_第2张图片

 

Leetcode刷题日记(2020.6.11):旋转矩阵_第3张图片

 

 分析如下:

本题其实就是将矩阵进行旋转,因为我主要是研究CV的,所以对于这种坐标的转换很熟悉,看到后,我就用了自己常用的方法:

首先我们将矩阵进行上下交换,接着再将得到的新矩阵按照对脚线进行交换机可

代码如下:

 1 #!/usr/bin/env python
 2 # -*- coding: utf-8 -*-
 3 """
 4 # @Time : 2020/6/11 9:12 
 5 
 6 # @Author : ZFJ
 7 
 8 # @File : 旋转矩阵.py 
 9 
10 # @Software: PyCharm
11 """
12 
13 
14 class Solution(object):
15     def rotate(self, matrix):
16         """
17         本题是考察的矩阵的旋转,我们可以先将矩阵进行上下翻转,在进行矩阵沿着对角线交换
18         :type matrix: List[List[int]]
19         :rtype: None Do not return anything, modify matrix in-place instead.
20         """
21         # 得到矩阵的行数
22         length = len(matrix)
23         # 首先进行上下翻转,即为二维数组中逆向切片
24         matrix[:] = matrix[::-1]
25         # 现在再将矩阵沿着对角线进行元素交换即可
26         for i in range(length):
27             for j in range(i):
28                 matrix[i][j], matrix[j][i] = matrix[j][i], matrix[i][j]

 

你可能感兴趣的:(Leetcode刷题日记(2020.6.11):旋转矩阵)