leetcode 59.螺旋矩阵

记录一下,觉得倒水思想来做 总体看起来还是比较清晰的。

bash 复制代码
class Solution {
public:
    vector<vector<int>> generateMatrix(int n) {
        int a[4][2] = {{0,1}, {1,0}, {0,-1},{-1,0}};

        int direction=0;  //方向
        int num=0;

        int S =n*n;
        int x = 0;
        int y = 0;
        
        vector<vector<int>> Matrix(n, vector<int>(n, 0));

        while(num!=S){
            num++;
            Matrix[x][y]=num;

            x+=a[direction][0];
            y+=a[direction][1];
            if(x>=n || y>=n || x<0 || y<0 || Matrix[x][y]!=0){
                x-=a[direction][0];
                y-=a[direction][1];
                direction = (direction+1)%4;
                x+=a[direction][0];
                y+=a[direction][1];
            } 
        }  
        return  Matrix;

    }
};
相关推荐
不穿铠甲的穿山甲2 分钟前
MMR最大边际相关性
算法
handler014 分钟前
速通蓝桥杯省一:二分算法
c语言·开发语言·c++·笔记·算法·职场和发展·蓝桥杯
炽烈小老头4 分钟前
【 每天学习一点算法 2026/05/08】最小覆盖子串
学习·算法
汉克老师26 分钟前
GESP5级C++考试语法知识(十六、分治算法(三))
c++·算法·分治算法·汉诺塔·逆序对·gesp5级·gesp五级
V搜xhliang024628 分钟前
OpenClaw进阶完全教程
运维·人工智能·算法·microsoft·自动化
叼烟扛炮36 分钟前
C++ 知识点12 构造函数
开发语言·c++·算法·构造函数
满天星83035771 小时前
定长内存池ObjectPool
数据结构·c++·算法·链表
叼烟扛炮1 小时前
C++第八讲:string 类
开发语言·c++·算法·string
科研前沿1 小时前
像素级实景映射,构建实景孪生底层新范式
科技·矩阵·音视频
Chase_______1 小时前
LeetCode 1493 & 3634 题解:滑动窗口双指针,从“删一个元素的全1子数组“到“最少移除使数组平衡“
算法·leetcode