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
相关推荐
通信小呆呆几秒前
从理想到现实:实际系统中非理想特性及其补偿方法
算法·数学建模·信号处理
天天进步20151 分钟前
Python全栈项目--智能远程医疗系统
开发语言·python
AI人工智能+电脑小能手5 分钟前
【大白话说Java面试题 第97题】【Mysql篇】第27题:说说分库与分表的设计?
java·开发语言·数据库·分布式·mysql·算法
落地加湿器6 分钟前
从Hermes cli的源代码中学习skill
人工智能·python·学习·智能体·源码解读
RSTJ_162513 分钟前
PYTHON+AI LLM DAY SIXTY-SEVEN
开发语言·python
yuan1999713 分钟前
双目视觉测距实现
算法
洒脱的六边形战士加辣14 分钟前
Java排序方法全解析
java·数据结构·算法
@zulnger21 分钟前
WebDriver API及对象识别技术
笔记·python·selenium
代码中介商25 分钟前
LRU缓存算法:双向链表+哈希表实现
算法·链表·缓存
lqqjuly29 分钟前
计算理论—图灵机、复杂性、信息论与机器学习的理论基础
算法