力扣 59 螺旋矩阵
class Solution(object):
def generateMatrix(self, n):
k = 0
x = 1
matrix = [[0 for _ in range(n)] for _ in range(n)]
mid = n // 2
startx = 0
starty = 0
right = n - 1
down = n - 1
while k < mid:
for i in range(startx, right + 1):
matrix[startx][i] = x
x += 1
for i in range(starty + 1, down + 1):
matrix[i][right] = x
x += 1
for i in range(right - 1, startx - 1, -1):
matrix[down][i] = x
x += 1
for i in range(down - 1, starty , -1):
matrix[i][startx] = x
x += 1
startx += 1
starty += 1
k += 1
right -= 1
down -= 1
if n % 2 != 0:
matrix[mid][mid] = x
return matrix