leetcode-59 螺旋矩阵,控制输出及找规律
leetcode-59题
leetcode-59题 参考代码随想录的中的解题思路 class Solution: def generateMatrix(self, n: int) -> List[List[int]]: x,y=0,0 loop=n//2 temp=1 matrix = [[0] * n for _ in range(n)] if n==1: matrix[0][0]=1 return matrix num=1 while loop!=0: loop-=1 for i in range(x,n-temp+1):#上行 matrix[x][i]=num num+=1 for j in range(y+1,n-temp+1):#右列 matrix[j][n-temp]=num num+=1 for i in range(n-temp-1,x-1,-1):#下行 matrix[n-temp][i]=num num+=1 for j in range(n-temp-1,y,-1):#左列 matrix[j][y]=num num+=1 if n%2==1: matrix[n//2][n//2]=num temp+=1 x+=1 y+=1 return matrix
主要的思想是找规律
比如
n 为1,2,3,4,5,6,7 1 1 2 1 2 3 1 2 3 4 3 4 4 5 6 5 6 7 8 7 8 9 9 10 11 12 13 14 15 16