【矩阵】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;
    }
}
相关推荐
前端小L1 天前
图论专题(二十二):并查集的“逻辑审判”——判断「等式方程的可满足性」
算法·矩阵·深度优先·图论·宽度优先
平凡灵感码头1 天前
经典按键扫描程序算法实现方式
单片机·矩阵·计算机外设
Ka1Yan2 天前
LeetCode 59. 螺旋矩阵 II
算法·leetcode·矩阵
西西弗Sisyphus2 天前
线性代数 - 初等变换与线性方程组联系(矩阵展示)
线性代数·矩阵
爱代码的小黄人2 天前
代数余子式矩阵和伴随矩阵的区别
线性代数·矩阵
小猪咪piggy2 天前
【算法】day 19 leetcode 100 矩阵+贪心
算法·leetcode·矩阵
Olafur_zbj3 天前
【AI】矩阵、向量与乘法
人工智能·线性代数·矩阵
啦啦啦在冲冲冲3 天前
lora矩阵的初始化为啥B矩阵为0呢,为啥不是A呢
深度学习·机器学习·矩阵
sensen_kiss3 天前
INT301 Bio-computation 生物计算(神经网络)Pt.8 主成分分析(PCA)与无监督学习
神经网络·学习·线性代数·机器学习
西西弗Sisyphus4 天前
线性代数 - 矩阵的等价标准形
线性代数·矩阵·等价标准形