【矩阵】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;
    }
}
相关推荐
DogDaoDao10 小时前
【预备理论知识——2】深度学习:线性代数概述
人工智能·深度学习·线性代数
quaer11 小时前
Open-Sora全面开源?
开发语言·算法·机器学习·matlab·矩阵
winds~13 小时前
数学基础-向量投影
线性代数
roman_日积跬步-终至千里1 天前
【线性代数】【第一章】行列式习题
线性代数
sml_54211 天前
【笔记】连续、可导、可微的概念解析
笔记·线性代数
吱吱鼠叔1 天前
MATLAB数据文件读写:2.矩阵数据读取
数据库·matlab·矩阵
￴ㅤ￴￴ㅤ9527超级帅1 天前
LeetCode hot100---数组及矩阵专题(C++语言)
c++·leetcode·矩阵
海涛高软1 天前
osg 矩阵相关
线性代数·矩阵
herobrineAC2 天前
以矩阵的视角解多元一次方程组——矩阵消元
线性代数·矩阵
annesede3 天前
线性代数复习笔记
笔记·线性代数