73.矩阵置零
题目链接
73. 矩阵置零 - 力扣(LeetCode)
解题代码
class Solution:def setZeroes(self, matrix: List[List[int]]) -> None:"""Do not return anything, modify matrix in-place instead."""mapx = []mapy = []x = len(matrix)y = len(matrix[0])for i in range(x):for j in range(y):if matrix[i][j] == 0:mapx.append(i)mapy.append(j)for i in mapx:for j in range(y):matrix[i][j] = 0for i in mapy:for j in range(x):matrix[j][i] = 0
54.螺旋矩阵
题目链接
54. 螺旋矩阵 - 力扣(LeetCode)
解题思路
class Solution:def spiralOrder(self, matrix: List[List[int]]) -> List[int]:if not matrix or not matrix[0]:return rows, columns = len(matrix), len(matrix[0])visited = [[False] * columns for _ in range(rows)]total = rows * columnsorder = [0] * totaldirections = [[0,1],[1,0],[0,-1],[-1,0]]row,column = 0,0directionIndex = 0for i in range(total):order[i] = matrix[row][column]visited[row][column] = TruenextRow, nextColumn = row + directions[directionIndex][0],column + directions[directionIndex][1]if not (0<=nextRow<rows and 0<=nextColumn<columns and not visited[nextRow][nextColumn]):directionIndex = (directionIndex + 1)% 4row += directions[directionIndex][0]column += directions[directionIndex][1]return order