给你一个正整数n生成一个包含1到n2所有元素且元素按顺时针顺序螺旋排列的n x n正方形矩阵matrix。示例 1输入n 3输出[[1,2,3],[8,9,4],[7,6,5]]#反正不管咋的都要一个矩阵,先初始化矩阵#转圈往里填,一共四个方向,右下左上,按方向走#设置方向dir,对应二维数组操作,例如[x][y]往右走就是[x][y1],x不动,y1#有了方向,那么需要一个向导,判断当前属于哪个方向#方向一共四种,dir是一个二维数组,数组每一行代表一个方向,那么向导di只需要判断当前属于dir第几行di (di1)%4#初始化矩阵,添加对应数值#判断下一数值按照当前方向应该填到哪个位置#判断下一位置是否正确,不正确就换下一方向#添加class Solution: def generateMatrix(self, n: int) - List[List[int]]: nums [[0]*n for _ in range(n)] dir (0,1),(1,0),(0,-1),(-1,0)#右下左上 i,j,di 0,0,0 for val in range(1,n*n1): nums[i][j] val x,y idir[di][0],jdir[di][1] if x0 or xn or y0 or yn or nums[x][y]: di (di1)%4 i idir[di][0] j jdir[di][1] return nums #反正不管咋的都要一个矩阵,先初始化矩阵 #转圈往里填,一共四个方向,右下左上,按方向走 #设置方向dir,对应二维数组操作,例如[x][y]往右走就是[x][y1],x不动,y1 #有了方向,那么需要一个向导,判断当前属于哪个方向 #方向一共四种,dir是一个二维数组,数组每一行代表一个方向,那么向导di只需要判断当前属于dir第几行di (di1)%4 #初始化矩阵,添加对应数值 #判断下一数值按照当前方向应该填到哪个位置 #判断下一位置是否正确,不正确就换下一方向 #添加