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