leetcode59. 螺旋矩阵 II

leetcode59. 螺旋矩阵 II

题目

思路

螺旋数组,一次螺旋4个方向(上行从左到右、右列从上到下、下行从右到左、左列从下到上),共执行(n//2)次螺旋。且对于n为奇数时,额外填充中心点nums[mid][mid] = n

每一次螺旋圈下来,我们要画每四条边,这四条边怎么画,每画一条边都要坚持一致的左闭右开的原则,这样这一圈才能按照统一的规则画下来。且每次螺旋后,需向内偏移一个单位。

代码

python 复制代码
class Solution:
    def generateMatrix(self, n: int) -> List[List[int]]:
        nums = [[0] * n for _ in range(n)]
        startx, starty = 0, 0               # 起始点
        loop, mid = n // 2, n // 2          # 迭代次数、n为奇数时,矩阵的中心点
        count = 1                           # 计数

        for offset in range(1, loop + 1) :      # 每循环一层偏移量加1,偏移量从1开始
            for i in range(starty, n - offset) :    # 从左至右,左闭右开
                nums[startx][i] = count
                count += 1
            for i in range(startx, n - offset) :    # 从上至下
                nums[i][n - offset] = count
                count += 1
            for i in range(n - offset, starty, -1) : # 从右至左
                nums[n - offset][i] = count
                count += 1
            for i in range(n - offset, startx, -1) : # 从下至上
                nums[i][starty] = count
                count += 1                
            startx += 1         # 更新起始点
            starty += 1

        if n % 2 != 0 :			# n为奇数时,填充中心点
            nums[mid][mid] = count 
        return nums
相关推荐
2601_9578793339 分钟前
短视频矩阵的数据驱动运营:从流量监测到内容迭代的完整技术链路
大数据·矩阵·音视频
松☆5 小时前
ops-blas:昇腾NPU上线性代数算子的性能天花板在哪?
线性代数
2601_957888568 小时前
短视频矩阵系统的AI调度引擎架构解析:从多平台API到智能分发的技术实现
人工智能·矩阵·音视频
2601_957787588 小时前
2026年自媒体矩阵系统技术观察:当“人海战术“退场,AI如何重构内容分发逻辑?
人工智能·矩阵·媒体
2601_9577875810 小时前
短视频矩阵系统的信号密码:用数字信号处理(DSP)理论,破解“限流“的底层逻辑
矩阵·音视频·信号处理
oo哦哦10 小时前
2026年实体门店获客新变局:当短视频矩阵成为“必修课“,哪套系统真正能落地?
线性代数·矩阵
AI_yangxi12 小时前
短视频矩阵系统行业领先的厂家
大数据·人工智能·矩阵
2601_9578848412 小时前
多平台自媒体内容矩阵的AI调度引擎:从账号管理到线索闭环的全链路技术拆解
人工智能·矩阵·媒体
05候补工程师12 小时前
【线性代数】核心考点复习笔记:二次型配方法、施密特正交化步骤与特征值经典题型详解
经验分享·笔记·线性代数·考研·算法
oo哦哦12 小时前
2026年矩阵管理工具全景观察:从项目协作到全域运营,工具进化的下一站在哪里?
人工智能·矩阵·重构