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;

    }
};
相关推荐
MicroTech202520 小时前
微算法科技(NASDAQ MLGO)区块链混合检测模型优化确保全网防御策略一致性
科技·算法·区块链
LYFlied20 小时前
【每日算法】 LeetCode 394. 字符串解码
前端·数据结构·算法·leetcode·面试·职场和发展
董世昌4121 小时前
break和continue的区别是什么?
java·jvm·算法
夏鹏今天学习了吗21 小时前
【LeetCode热题100(75/100)】跳跃游戏 II
算法·leetcode·游戏
lxh011321 小时前
复原IP地址
前端·数据结构·算法
元亓亓亓21 小时前
LeetCode热题100--45. 跳跃游戏 II--中等
算法·leetcode·游戏
Christo321 小时前
NIPS-2022《Wasserstein K-means for clustering probability distributions》
人工智能·算法·机器学习·数据挖掘·kmeans
xiaolongmeiya21 小时前
P3810 【模板】三维偏序 / 陌上花开 cdq分治+树状数组
c++·算法
LYFlied21 小时前
【每日算法】LeetCode 20. 有效的括号
数据结构·算法·leetcode·面试
涛涛北京21 小时前
【强化学习实验】- Actor-Critic
算法