59. 螺旋矩阵 II

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一堆

 

 
posted @ 2022-07-29 15:21  是冰美式诶  阅读(20)  评论(0)    收藏  举报