【矩阵】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;
    }
}
相关推荐
AI_yangxi1 小时前
短视频矩阵系统哪个稳定
大数据·人工智能·矩阵
2601_957884844 小时前
AI赋能的内容工程学:短视频矩阵系统的多模态内容生成与量产边界
人工智能·矩阵·音视频
2601_957888566 小时前
从数据隔离到全链路分发:短视频矩阵系统的防关联底层逻辑与提效实践
线性代数·矩阵
_Evan_Yao7 小时前
线性代数 + 编程:用Python实现向量和矩阵运算
python·线性代数·矩阵
计算机安禾7 小时前
【线性代数】线代「行/列变换」使用场景总总结
线性代数
坏孩子的诺亚方舟8 小时前
FPGA神经网络数学基础0
人工智能·神经网络·线性代数·fpga开发
lqqjuly8 小时前
低秩分解与低秩适配——从矩阵分析基础到 LoRA/QLoRA
决策树·机器学习·矩阵
2601_9578885610 小时前
短视频矩阵获客系统的设计与实践:提升企业数字营销效率的路径
大数据·人工智能·矩阵·企业增长
2601_9578885610 小时前
数字化转型下,企业新媒体矩阵系统的底层架构与选型实践
矩阵·架构·媒体
AI_yangxi10 小时前
短视频矩阵系统哪个靠谱
矩阵