题目
给定一个正整数 n,生成一个包含 1 到 n2 所有元素,且元素按顺时针顺序螺旋排列的正方形矩阵。 示例: 输入: 3 输出: [ [ 1, 2, 3 ], [ 8, 9, 4 ], [ 7, 6, 5 ] ]
def generateMatrix(self, n: int) -> List[List[int]]:
matrix = [[None]*n for j in range(n)]
res,i,j, di,dj = [],0,0,0,1
for cnt in range(n*n):
matrix[i][j] = cnt+1
if not matrix[(i+di)%n][(j+dj)%n] == None:
di, dj = dj, -di
i += di
j += dj
return matrix