【矩阵】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;
    }
}
相关推荐
Jasmine_llq14 小时前
《B4259 [GESP202503 二级] 等差矩阵》
线性代数·矩阵·顺序输入输出算法·双重循环遍历算法·行列乘积计算算法·矩阵逐行输出算法·空格分隔输出算法
代码改善世界18 小时前
【MATLAB初阶】矩阵操作(二):矩阵的运算
android·matlab·矩阵
今日说"法"18 小时前
线性代数与矩阵运算:AI世界的数学基石——从SVD到特征值分解的实战解析
人工智能·线性代数·矩阵
猴哥聊项目管理19 小时前
从职能型组织到矩阵型组织的IPD转型路径
线性代数·矩阵·项目管理·项目经理·ipd流程·ipd项目管理流程·ipd流程管理
清 晨20 小时前
海外社媒内容审核加强跨境卖家如何避免限流
大数据·人工智能·矩阵·新媒体运营·内容营销
源码之家21 小时前
计算机毕业设计:Python农产品智能推荐与可视化分析系统 Flask框架 矩阵分解 数据分析 可视化 协同过滤推荐算法 深度学习(建议收藏)✅
python·矩阵·数据挖掘·数据分析·django·flask·课程设计
今日说"法"1 天前
线性代数与矩阵运算:向量、矩阵、特征值、SVD 在 AI 中的全面应用
人工智能·线性代数·矩阵
今日说"法"1 天前
线性代数与矩阵运算:AI 背后的数学基石
人工智能·线性代数·矩阵
承渊政道1 天前
【递归、搜索与回溯算法】(floodfill算法:从不会做矩阵题,到真正掌握搜索扩散思想)
数据结构·c++·算法·leetcode·矩阵·dfs·bfs
剑挑星河月1 天前
73.矩阵置零
数据结构·算法·leetcode·矩阵