0
点赞
收藏
分享

微信扫一扫

59. Spiral Matrix II刷题笔记

Star英 2022-04-14 阅读 33

问题描述
用了一个简单粗暴的指示器来表示方向,AC
pycharm代码:

class Solution:
    def generateMatrix(self, n):
        spiral_matrix = [[0 for i in range(n)] for j in range(n)]
        i = 0
        j = 0
        dir = 0#right,down,left,up
        circle_len = n
        for num in range(1,n*n+1):
            if spiral_matrix[i][j]==0:
                spiral_matrix[i][j] = num
            if dir == 0:
                j+=1
                if j==circle_len:
                    j-=1
                    i+=1
                    dir = 1
            elif dir == 1:
                i+=1
                if i==circle_len:
                    i-=1
                    j-=1
                    dir = 2
            elif dir == 2:
                j-=1
                if j == n-circle_len-1:
                    j+=1
                    i-=1
                    dir=3
            else:
                i-=1
                if i==n-circle_len:
                    i+=1
                    j+=1
                    circle_len-=1
                    dir=0
        return spiral_matrix
print(Solution().generateMatrix(4))


运行结果:
在这里插入图片描述

举报

相关推荐

0 条评论