一、矩阵问题基础

遍历:
for i in range(len(matrix[0])):
for j in range(len(matrix):
while
倒序遍历:
for i in range(right,left,-1)
临时存储:temp
w,h:len(matrix[0])-1 len(matrix)-1
left,right,top,bottom:0 len(matrix[0])-1 0 len(matrix)-1
索引:
width = len(matrix[0])
height=height_2=len(matrix)
w=width-1
h=height-1

二、旋转图像

1 题目

【刷题(2)】矩阵-LMLPHP

2 解题思路

(1)先对角翻转,对角反转需要注意什么?
【刷题(2)】矩阵-LMLPHP

(2)再上下翻转
【刷题(2)】矩阵-LMLPHP

3 code

class Solution(object):
    def rotate(self, matrix):

        width = len(matrix[0])
        height=height_2=len(matrix)
        w=width-1
        h=height-1

        # 对角翻转
        for i in range(width):
            for j in range(height):
                temp = matrix[i][j]
                matrix[i][j]=matrix[h-j][w-i]
                matrix[h-j][w-i]=temp
            height=height-1

        # 上下翻转
        for j in range(int(math.floor(height_2/2))):
            temp=matrix[j]
            matrix[j]=matrix[h-j]
            matrix[h-j]=temp

        
        return matrix

三、螺旋矩阵

1 题目

【刷题(2)】矩阵-LMLPHP

2 解题思路

3 code

05-06 11:20