Leetcode刷題日記(2020.6.11):旋轉矩陣

題目如下:

 

 

 

 

 分析如下:

本題其實就是將矩陣進行旋轉,因爲我主要是研究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]

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章