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;

    }
};
相关推荐
会编程的土豆几秒前
【leetcode hot 100】 二叉树2
算法·leetcode·职场和发展
承渊政道2 分钟前
【优选算法】(实战掌握分治思想的使用方法)
数据结构·c++·笔记·vscode·学习·算法·leetcode
再卷也是菜5 分钟前
第一章、线性代数(1)矩阵乘法
线性代数·矩阵
adam_life6 分钟前
A*算法——# P1379 八数码难题
算法·优先队列·a星算法·最优启发式搜索·哈希标记·启发式函数·已走步数+预估距离
Yungoal8 分钟前
C++基础项目结构
数据结构·c++·算法
扶摇接北海17613 分钟前
洛谷:B4477 [语言月赛 202601] 考场安排
数据结构·c++·算法
爱丽_19 分钟前
AQS 的 `state`:volatile + CAS 如何撑起原子性与可见性
java·前端·算法
2301_7887705521 分钟前
OJ模拟5
数据结构·算法
羊小猪~~23 分钟前
算法/力扣--字符串经典题目
c++·考研·算法·leetcode·职场和发展·哈希算法
攒了一袋星辰24 分钟前
10万级用户数据日更与定向推送系统的可靠性设计
java·数据库·算法