【矩阵】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;
    }
}
相关推荐
JinSu_7 小时前
【学习体会】Eigen和GLM在矩阵初始化和底层数据存储的差异
线性代数·矩阵
寂寞恋上夜7 小时前
PRD权限矩阵怎么写:RBAC模型+5个真实案例
数据库·人工智能·矩阵·deepseek ai·markdown转xmind·ai思维导图生成器
wa的一声哭了8 小时前
赋范空间 赋范空间的完备性
python·线性代数·算法·机器学习·数学建模·矩阵·django
短视频矩阵源码定制8 小时前
专业的矩阵系统哪家强
线性代数·矩阵
Tisfy8 小时前
LeetCode 840.矩阵中的幻方:模拟(+小小位运算)
算法·leetcode·矩阵
大佬,救命!!!8 小时前
算子矩阵相关冒烟、功能、回归、性能的不同阶段测试点
线性代数·矩阵·回归
短视频矩阵源码定制1 天前
矩阵系统源头厂家
大数据·人工智能·矩阵
短视频矩阵源码定制1 天前
好用的矩阵系统机构
大数据·人工智能·矩阵
短视频矩阵源码定制1 天前
专业的矩阵系统哪个公司好
大数据·人工智能·矩阵
AI科技星1 天前
张祥前统一场论电荷定义方程分析报告
开发语言·经验分享·线性代数·算法·数学建模