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;
    }
}
相关推荐
kyriewen8 小时前
我手写了一个 EventEmitter,面试官追问了 6 个问题——第 4 个我没答上来
前端·javascript·面试
先吃饱再说9 小时前
判断回文字符串,从一行代码到双指针优化
算法
她的男孩9 小时前
后台接口加密别只会 HTTPS,ForgeAdmin 的 RSA + SM4/AES 源码拆解
后端·面试·开源
Randyliu10 小时前
20260508-Agent搭建记录以及对ReAct框架的理解
面试·agent
ZzT11 小时前
公司用 AI 筛简历,他写了个 AI 帮你挑公司
面试·aigc·ai编程
黄敬峰11 小时前
深入理解算法核心:从递归思想、数组扁平化到快速排序
算法
PBitW11 小时前
GPT训练我的第四天,被打惨了!!!😭😭😭
前端·javascript·面试
得物技术12 小时前
从狂野代码到按目标生产:得物推荐 AI Harness 的工程化实践|AICon 演讲整理
人工智能·算法·架构
AI小老六16 小时前
SkillOpt 架构拆解:把 Skill 文本当参数,用执行轨迹训练 Agent
后端·算法·ai编程