54. 螺旋矩阵

Problem: 54. 螺旋矩阵

文章目录

思路

螺旋矩阵,从左到右、从上到下、从右到左、从下到上,四个方向循环遍历矩阵,需要控制上下左右这四个角。每遍历完成一个方向后,收缩该方向。

  • 完成从左到右时:上-=1
  • 完成从上到下时:右-=1
  • 完成从右到左时:下-=1
  • 完成从下到上时:左+=1

解题方法

模拟

复杂度

时间复杂度: O ( m ∗ n ) O(m * n) O(m∗n) 矩阵每个元素只遍历一次

空间复杂度: O ( m ∗ n ) O(m * n) O(m∗n) 矩阵元素个数

Code

Python3 复制代码
class Solution:
    def spiralOrder(self, matrix: List[List[int]]) -> List[int]:
        if not matrix: return []

        l, r, t, b = 0, len(matrix[0]) - 1, 0, len(matrix) - 1

        res = []

        while True:
            # 从左到右
            for i in range(l, r + 1):
                res.append(matrix[t][i])
            t += 1
            if t > b: break

            # 从上到下
            for i in range(t, b + 1):
                res.append(matrix[i][r])
            r -= 1
            if l > r: break

            # 从右到左
            for i in range(r, l - 1, -1):
                res.append(matrix[b][i])
            b -= 1
            if t > b: break

            # 从下到上
            for i in range(b, t - 1, -1):
                res.append(matrix[i][l])
            l += 1
            if l > r: break

        return res
相关推荐
IT小白杨18 小时前
社媒多账号运营的环境隔离:一张图谱模型,解释清“为什么换IP还是被连坐“
经验分享·笔记·矩阵·指纹浏览器
镜像视界(浙江)科技有限公司2 天前
《视频孪生之上:二维展示终结,三维空间计算重构城市逻辑》——跨摄像连续表达 × 三角测量厘米级定位 × 动态轨迹建模,构建新一代城市空间
大数据·人工智能·算法·矩阵·音视频·空间计算
wzdark2 天前
稀疏矩阵存储结构及其运算复杂度研究4
线性代数·矩阵
零依赖极客2 天前
Day 9·1 KV 也量化——q8 KV 把缓存与 decode 带宽压到一半
c语言·开发语言·arm开发·人工智能·缓存·矩阵
零依赖极客3 天前
Day 6·1 ARMv8.2 dotprod——vdotq_s32 一条指令做 4 个点积
c语言·开发语言·人工智能·矩阵·arm·vllm
wzdark3 天前
基于矩阵的动态规划路径问题性能优化4
线性代数·矩阵·动态规划
Raas1004 天前
MAI Gateway(魔芋企业级AI网关)功能全解:AI网关有哪些功能?一文看懂AI网关能力矩阵
大数据·人工智能·矩阵·gateway·mai gateway·企业级产品
船厂电气自动化ai大模型4 天前
AI大模型与数学 第75课 基、维度、向量空间坐标
数据结构·线性代数·算法·机器学习·推荐算法
hansang_IR5 天前
【题解】P4456 [CQOI2018] 交错序列(矩阵乘法)
c++·线性代数·算法
BSD_HY5 天前
薄膜开关矩阵扫描在低功耗MCU上的GPIO扩展实现
单片机·嵌入式硬件·矩阵·人机交互·薄膜开关·源头工厂