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. 注意点

相关推荐
AI科技星10 小时前
基于**v=c(空间光速螺旋运动)唯一第一性原理**重新完整求导证明
人工智能·线性代数·算法·机器学习·架构·概率论·学习方法
吃好睡好便好13 小时前
矩阵的转置运算
学习·线性代数·matlab·矩阵
xier_ran15 小时前
【infra之路】阶段二 · 模块二:CUDA 编程入门(下)— 矩阵乘法、tiling 优化与测量陷阱
人工智能·线性代数·矩阵
cxr82815 小时前
高分子复合材料 AI 逆向设计合——学证明、算法实现、验证数据与学术资源全集
人工智能·线性代数·算法
star learning white16 小时前
线性代数7
线性代数
hai31524754318 小时前
AI工业化编程的黎明:由逻辑压缩到知识融合的范式跃迁
开发语言·人工智能·线性代数·机器学习·数学建模·概率论
it-电商达人18 小时前
深耕TK内容运营,专业云端工具助力出海矩阵高效发展
矩阵·产品运营·内容运营
吃好睡好便好18 小时前
矩阵的求逆运算
人工智能·学习·线性代数·matlab·矩阵
AI科技星19 小时前
基于光速螺旋拓扑模型的宇宙时空特征周期研究
人工智能·线性代数·架构·概率论·学习方法
逻辑君1 天前
Foresight研究报告【20260011】
人工智能·线性代数·算法·矩阵