题目描述:螺旋填充矩阵nxn 用1-n**2的数来填充。

题目链接:Leetcode 59. Spiral Matrix II

思路:参照之前打印的思路,此时用dx,dy 的交替变换表示方向,1-n来填充,利用是否为0来判断是否需要转换方向。

代码如下

class Solution:
    def generateMatrix(self, n):
        """
        :type n: int
        :rtype: List[List[int]]
        """
        ans = [[0 for _ in range(n)] for _ in range(n)]
        x,y,dx,dy = 0,0,0,1
        for idx in range(n*n):
            ans[x][y] = idx + 1
            if ans[(x+dx)%n][(y+dy)%n] != 0:
                dx,dy = dy,-dx
            x += dx
            y += dy
        return ans

参考链接

Leetcode 59. Spiral Matrix II

相关文章:

  • 2021-07-26
  • 2021-11-01
  • 2022-12-23
  • 2022-02-10
  • 2021-09-21
猜你喜欢
  • 2021-10-07
  • 2021-11-14
  • 2021-06-15
  • 2021-11-19
  • 2022-01-19
  • 2022-03-04
  • 2021-08-25
相关资源
相似解决方案