day17(11.18)——leetcode面试经典150

54. 螺旋矩阵

今天的题是我在操作系统上想的,回来实验的,之前c的时候我应该写过这题,我以前没觉得这么复杂啊

54. 螺旋矩阵

题目:

题解:

java 复制代码
class Solution {
    public List<Integer> spiralOrder(int[][] matrix) {
        // 右边界
        int r_x = matrix[0].length-1;
        int r_y = matrix.length-1;
        // 左边界
        int l_x = 0;
        int l_y = 0;
        //坐标
        int x = 0;
        int y = 0;
        List<Integer> s = new ArrayList<>();
        int flag=0; //0表示向右走,1表示向下走,2表示向左走,3表示向上走
        while(s.size() < matrix[0].length*matrix.length) {
            //向右移
            if(flag%4==0) {
                while(x<=r_x) {
                    //在数组中,上下是x,左右是y
                    s.add(matrix[y][x]);
                    x++;
                }
                x--;
                y++;
                r_x--;
            }
            else if(flag%4==1) {
                while(y<=r_y) {
                    s.add(matrix[y][x]);
                    y++;
                }
                y--;
                x--;
                r_y--;
            }
            else if(flag%4==2) {
                while(x>=l_x) {
                    s.add(matrix[y][x]);
                    x--;
                }
                x++;
                y--;
                l_x++;
            }
            else if(flag%4==3) {
                //这里不能和一圈的起始点重合,所以进行更改
                while(y>l_y) {
                    s.add(matrix[y][x]);
                    y--;
                }
                y++;
                x++;
                l_y++;
            }
            flag++;
        }
        return s;
    }
}
相关推荐
QXWZ_IA6 小时前
桥梁数字孪生怎么落地?
人工智能·科技·算法·智能硬件·政务
Kel7 小时前
输出层与反分词(Output Layer & Detokenization)
人工智能·算法·架构
陕西企来客7 小时前
2026年7月技术好GEO优化方案:算法适配与内容策略
人工智能·算法·机器学习·技术好geo优化
Android研究员7 小时前
Android进阶之事件分发机制深度剖析
android·前端·面试
触底反弹7 小时前
🔥 AI 写代码总翻车?这套实战方法论救了我
人工智能·面试·程序员
风栖柳白杨7 小时前
【面试】AI算法工程师_空白自测版本
人工智能·算法·面试
闪电悠米8 小时前
力扣hot100-73.矩阵置零-标记数组详解
算法·leetcode·矩阵
栋***t8 小时前
从“纸质试卷”到“AI智能组卷”,麦塔在线考试系统如何重构出题逻辑?
java·大数据·人工智能·算法·重构
wabs6669 小时前
关于图论【卡码网100.最大岛屿的面积的思考】
数据结构·算法·图论
CHANG_THE_WORLD9 小时前
深入理解递归:从函数调用到调用栈的完整执行过程
java·开发语言·算法