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;

    }
};
相关推荐
en.en..28 分钟前
Linux fork() 工作原理
数据结构·算法
地平线开发者1 小时前
bevformer算法模型详细解读
算法
liliangcsdn1 小时前
ICIR权重矩阵如何加权标准化为综合因子
算法
SDWAN_Cheap2 小时前
SD-WAN智能选路技术的算法与实现机制
算法·php·sdwan
不会就选b2 小时前
数据结构之树&&二叉树(二)
数据结构·算法
渡之3 小时前
ArduPilot (APM)滤波器之SlewLimiter 深度解析
算法
zander2583 小时前
LeetCode 1143. 最长公共子序列
开发语言·python·算法
Sumerking3 小时前
llc_control.c 专项评审(v3 更新版)
c语言·开发语言·算法·obc
L小航呀4 小时前
代码随想录刷题 Day16
leetcode·面试
软行4 小时前
LeetCode 每日一题 3876. 构造奇偶一致的数组 II
c++·算法·leetcode