知识点
题目
- 螺旋数组II
- 给你一个正整数 n ,生成一个包含 1 到 n2 所有元素,且元素按顺时针顺序螺旋排列的 n x n 正方形矩阵 matrix 。
class Solution:
def generateMatrix(self, n: int) -> List[List[int]]:
nums=[[0]*n for _ in range(n)]
num=n*n
#上下左右
u,d,l,r=0,n-1,0,n-1
count=1
while count<=num and l<r:#没有l<r,无法停止
for i in range(l,r):
nums[u][i]=count
count+=1
for i in range(u,d):
nums[i][r]=count
count+=1
for i in range(r,l,-1):
nums[d][i]=count
count+=1
for i in range(d,u,-1):
nums[i][l]=count
count+=1
u,d,l,r=u+1,d-1,l+1,r-1
if n%2!=0:
nums[n
return nums