算法-目录
题目来源: 59. 螺旋矩阵 II
class Solution(object):
def generateMatrix(self, n):
"""
:type n: int
:rtype: List[List[int]]
"""
dirs=[(0,1),(1,0),(0,-1),(-1,0)]
matrix = [[0] * n for _ in range(n)]
row,col,dirIdx=0,0,0
for i in range(n*n):
matrix[row][col]=i+1
dx,dy=dirs[dirIdx]
r,c=row+dx,col+dy
if r<0 or r>=n or c<0 or c>=n or matrix[r][c]>0:
dirIdx=(dirIdx+1)%4
dx,dy=dirs[dirIdx]
row, col = row + dx, col + dy
return matrix