54. 螺旋矩阵

1. 题目

54. 螺旋矩阵 - 力扣(LeetCode)

2. 解题思路

  • 用四个边界变量:
    • left(左边界)
    • right(右边界)
    • up(上边界)
    • down(下边界)
  • 每次按照顺时针方向走一圈:左→右 → 上→下 → 右→左 → 下→上
  • 每走完一条边,就把对应的边界向内收缩。
  • 每次收缩后立刻检查是否交叉(即越界),如果交叉说明遍历完了,就 break

3. 代码

3.1. 完整代码

java 复制代码
class Solution {
    public List<Integer> spiralOrder(int[][] matrix) {
        int m = matrix.length;
        int n = matrix[0].length;

        int left = 0;
        int right = n-1;
        int up = 0;
        int down = m-1;
        List<Integer> res = new ArrayList<>();

        while (true) {
            //1. 从左往右
            for (int i = left; i <= right; i++) {
                //行不变
                res.add(matrix[up][i]);
            }
            up++;
            if (up > down) {
                break;
            }
            //2. 从上往下
            for (int i = up; i <= down; i++) {
                //列不变
                res.add(matrix[i][right]);
            }
            right--;
            if (right < 0 || left > right) {
                break;
            }
            //3. 从右往左
            for (int i = right; i >= left; i--) {
                //行不变
                res.add(matrix[down][i]);
            }
            down--;
            if (down < 0 || up > down) {
                break;
            }
            //4. 从下往上
            for (int i = down; i >= up; i--) {
                //列不变
                res.add(matrix[i][left]);
            }
            left++;
            if (left > right) {
                break;
            }
        }
        return res;

    }
}

3.2. 注意点

相关推荐
贝塔实验室8 小时前
ADMM 算法的基本概念
算法·数学建模·设计模式·矩阵·动态规划·软件构建·傅立叶分析
小麦矩阵系统永久免费12 小时前
自动化运营|矩阵系统省心高效
运维·矩阵·自动化
MoRanzhi120313 小时前
9. NumPy 线性代数:矩阵运算与科学计算基础
人工智能·python·线性代数·算法·机器学习·矩阵·numpy
疯狂的Alex13 小时前
C++23特性全解析:从编译器支持矩阵到多维数组性能优化实战
rpc·矩阵·c++23
没书读了16 小时前
考研复习-线性代数-第二章-矩阵
线性代数·考研·矩阵
源代码•宸1 天前
GAMES101:现代计算机图形学入门(Chapter2 向量与线性代数)迅猛式学线性代数学习笔记
经验分享·笔记·学习·线性代数·计算机图形学
wwlsm_zql1 天前
MITRE ATLAS对抗威胁矩阵:守护LLM安全的中国实践指南
人工智能·线性代数·安全·矩阵·大模型
wewe_daisy1 天前
矩阵、线性代数
线性代数·算法·矩阵
wwlsm_zql2 天前
MITRE ATLAS 对抗威胁矩阵与 LLM 安全
人工智能·线性代数·安全·矩阵·大模型
cuigaosheng2 天前
关于px4 1.15.0电机控制有效矩阵的更新
线性代数·矩阵·无人机