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;

    }
};
相关推荐
如君愿5 分钟前
考研复习 Day 20 | 数据结构与算法--查找
数据结构·考研·算法·记录考研
xin_nai10 分钟前
LeetCode热题100(Java)(3)滑动窗口
算法·leetcode·滑动窗口
John的打铁站18 分钟前
对稀疏矩阵运算的两种优化方式
线性代数·矩阵
黎阳之光27 分钟前
视频孪生赋能智慧能源园区:黎阳之光打造全域数智化新标杆
大数据·人工智能·算法·安全·数字孪生
yyy(十一月限定版)29 分钟前
ACM&OJ最终选拔赛
算法
啦啦啦_999937 分钟前
1. 线性回归之 导数偏导数
算法·矩阵·线性回归
踩坑记录38 分钟前
leetcode hot100 5. 最长回文子串 中心扩展法 medium
leetcode
itzixiao1 小时前
L1-058 6翻了(15分)[java][python]
java·开发语言·python·算法
念何架构之路1 小时前
数组和切片实战
数据结构·算法·排序算法
重生之我是Java开发战士1 小时前
【数据结构】AVL树解析
数据结构·算法