59. 螺旋矩阵 II
->依据题意,和54题相似,填充方向按照上右下左(边界)即从左到右.从上到下...
找出填充的边界,设置left=0,right=n-1,up=0,down=n-1然后开始向内螺旋
-<开始模拟:
class Solution:
def generateMatrix(self, n: int) -> List[List[int]]:
res = [[0]*n for _ in range(n)] # 初始化二维矩阵
cnt = 1 #设置当前值用于计数
left,right,up,down=0,n-1,0,n-1#左右下上
while cnt<=n*n:
for i in range(left,right+1):
res[up][i]=cnt
cnt+=1
up+=1 #从左到右
for i in range(up,down+1):
res[i][right]=cnt
cnt+=1
right-=1 #从上到下
for i in range(right,left-1,-1):
res[down][i]=cnt
cnt+=1
down-=1 #从右到左
for i in range(down,up-1,-1):
res[i][left]=cnt
cnt+=1
left+=1 #从下到上
return res
ps:模拟过程一定得注意,否则需要debug一堆