力扣59-螺旋矩阵

螺旋矩阵

题目链接

c++ 复制代码
class Solution {
public:
    vector<vector<int>> generateMatrix(int n) {
        vector<vector<int>>res(n, vector<int>(n, 0));
        int dx[4] = {0, 1, 0, -1}, dy[4] = {1, 0, -1, 0};  //方向偏移数组
        int x = 0, y = 0;  //当前位置
        for(int i = 1, d = 0; i <= n*n; i++)
        {
            res[x][y] = i; 
            int a = x + dx[d], b = y + dy[d]; 
            if(a <0 || a == n || b < 0 || b == n || res[a][b]){  //出界或者该位置已经被走过
                d = (d + 1) % 4;   //更改方向
                a = x + dx[d], b = y + dy[d];  //下一个要走的位置
            }
            x = a, y = b;    
        }
        return res;
    }
};
相关推荐
拓恒技术6 小时前
无人机巡检AI算法的工程化落地:从需求到交付的5个核心环节
人工智能·算法·无人机
晨曦中的暮雨7 小时前
限流算法——固定窗口、滑动窗口、漏桶、令牌桶
java·开发语言·算法
怕浪猫7 小时前
Claude Code vs Codex:Computer Use 实现原理深度拆解
算法·面试·github
文丑颜不良啊8 小时前
LeetCode876~900题目解析
java·leetcode
罗西的思考8 小时前
AI 时代的 “房谋杜断”:如何培养能力、品味与判断力
人工智能·算法·机器学习
淡海水9 小时前
07-02-源码-.NET Core GC分配路径
算法·unity·c#·.netcore·gc·1024程序员节
下一站春风里10 小时前
位运算完整学习笔记:按位与(&)+ 异或(^)
开发语言·c++·算法
DRobot11 小时前
【机械制图与CAD实战(二十五)】螺纹的表示方法
算法·机械制图
用户老李11 小时前
卡尔曼滤波自学教程 10:无迹卡尔曼滤波(UKF)
算法
深圳市益普科技有限公司12 小时前
半导体良率管理YMS:良率与设备参数的相关性,先拉哪几组数据
人工智能·python·算法