LeetCode54题:螺旋矩阵(python3)

路径的长度即为矩阵中的元素数量,当路径的长度达到矩阵中的元素数量时即为完整路径,将该路径返回。

循环打印: "从左向右、从上向下、从右向左、从下向上" 四个方向循环打印。

python 复制代码
class Solution:
    def spiralOrder(self, matrix: List[List[int]]) -> List[int]:
        if not matrix or not matrix[0]:
            return []
        r,c = len(matrix),len(matrix[0])
        res=[]
        left,right,top,bottom = 0,c-1,0,r-1
        while left<=right and top<=bottom:
            for i in range(left,right+1):
                res.append(matrix[top][i])
            for j in range(top+1,bottom+1):
                res.append(matrix[j][right])
            if left<right and top<bottom:
                for i in range(right-1,left,-1):
                    res.append(matrix[bottom][i])
                for j in range(bottom,top,-1):
                    res.append(matrix[j][left])
            left,right,top,bottom=left+1,right-1,top+1,bottom-1
        return res
相关推荐
大厂技术总监下海1 分钟前
Python 开发者的“新引擎”:Rust 编写的解释器,性能与安全兼得
python·开源
挖矿大亨6 分钟前
C++中的赋值运算符重载
开发语言·c++·算法
qq_4335545420 分钟前
C++区间DP
c++·算法·动态规划
Swizard32 分钟前
别再硬编码配置了!5分钟带你用 PyYAML 让 Python 项目“活”起来
python
Halo_tjn41 分钟前
Java IO流实现文件操作知识点
java·开发语言·windows·算法
历程里程碑1 小时前
滑动窗口解法:无重复字符最长子串
数据结构·c++·算法·leetcode·职场和发展·eclipse·哈希算法
Geoffwo1 小时前
归一化简单案例
算法·语言模型
Felven1 小时前
C. Maximum Median
c语言·开发语言·算法
love530love1 小时前
Windows 下 Z-Image-Turbo 专业版 Gradio 生成器实战:功能增强全记录
人工智能·windows·python·大模型·gradio·博客之星·z-image
星火开发设计1 小时前
广度优先搜索(BFS)详解及C++实现
数据结构·c++·算法··bfs·宽度优先·知识