【矩阵】54.螺旋矩阵(顺时针打印矩形元素)

题目

java 复制代码
class Solution {
    public List<Integer> spiralOrder(int[][] matrix) {
        int m = matrix.length, n = matrix[0].length;
        int leftUpM = 0, leftUpN = 0, rightDownM = m - 1, rightDownN = n - 1;
        List<Integer> res = new ArrayList<>();
        while (leftUpM <= rightDownM && leftUpN <= rightDownN) {
            for (int i = leftUpN; i <= rightDownN; ++i) { // 向右
                res.add(matrix[leftUpM][i]);
            }
            for (int i = leftUpM + 1; i < rightDownM; ++i) { // 向下
            	res.add(matrix[i][rightDownN]);
            }
            for (int i = rightDownN; i >= leftUpN && leftUpM < rightDownM; --i) { // 向左
                res.add(matrix[rightDownM][i]);
            }
            for (int i = rightDownM - 1; i > leftUpM && leftUpN < rightDownN; --i) { // 向上
                res.add(matrix[i][leftUpN]);
            }
            ++leftUpM;
            ++leftUpN;
            --rightDownM;
            --rightDownN;
        }

        return res;
    }
}
相关推荐
RFdragon2 小时前
分享本周所学——三维重建算法3D Gaussian Splatting(3DGS)
人工智能·线性代数·算法·机器学习·计算机视觉·矩阵·paddlepaddle
西***63476 小时前
什么是4:4:4超清画质?讯维矩阵在这方面有何技术优势?
矩阵·成都讯维
小白学电子_16 小时前
51单片机 proteus仿真 智能锁 (4x4矩阵键盘+数码管+外部中断代码详解)
矩阵·51单片机·proteus
Tisfy18 小时前
LeetCode 2946.循环移位后的矩阵相似检查:模拟(左即是右)
算法·leetcode·矩阵·题解
穿条秋裤到处跑21 小时前
每日一道leetcode(2026.03.27):循环移位后的矩阵相似检查
算法·leetcode·矩阵
Cathy Bryant21 小时前
拓扑学-毛球定理
笔记·线性代数·算法·矩阵·拓扑学·高等数学
Q741_14721 小时前
每日一题 力扣 2946. 循环移位后的矩阵相似检查 力扣 155. 最小栈 数学 数组 模拟 C++ 题解
c++·算法·leetcode·矩阵·模拟·数组·
qq_4663024521 小时前
vs2022 mn矩阵运算 加减乘除
c++·算法·矩阵
泡泡茶壶Wending21 小时前
OPENGL之摄像机与视图变换矩阵
线性代数·矩阵
2301_766558651 天前
深度解析:矩阵跃动小陌GEO语义场建模原理,筑牢企业AI搜索占位技术壁垒
人工智能·线性代数·矩阵