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;

    }
};
相关推荐
旖-旎8 分钟前
二分查找(山脉数组的峰顶索引)(5)
c++·算法·leetcode·二分查找·力扣·双指针
阿贵---12 分钟前
单元测试在C++项目中的实践
开发语言·c++·算法
进击的小头12 分钟前
第14篇:MPC控制案例——无人机高度控制
python·算法·无人机
2401_8914821718 分钟前
C++中的事件驱动编程
开发语言·c++·算法
sw12138921 分钟前
C++与Rust交互编程
开发语言·c++·算法
Huyuejia23 分钟前
self-attention代码
算法
2401_8579182925 分钟前
模板编译期机器学习
开发语言·c++·算法
放飞自我的Coder29 分钟前
【动态规划解题思路】
算法·动态规划
2403_8355684730 分钟前
多平台UI框架C++开发
开发语言·c++·算法
yunyun3212333 分钟前
C++中的适配器模式
开发语言·c++·算法