Leetcode 59. 螺旋矩阵 II

水题T*T

class Solution {
public:
    int a[25][25], dir[4][2] = {{0, 1}, {1, 0}, {0, -1}, {-1, 0}};
    vector<vector<int>> generateMatrix(int n) {
	    int x = 1, y = 1, cnt = 0, d = 0;
	    while(cnt < n * n) {
            while(!a[x][y]) {
                a[x][y] = ++cnt;
                x += dir[d][0], y += dir[d][1];
                if(x == 0 || y == 0 || x == n + 1 || y == n + 1 || a[x][y]) {
                    x -= dir[d][0], y -= dir[d][1];
                    d = (d + 1) % 4;
                    x += dir[d][0], y += dir[d][1];
                    break;
                }
            }
	    }
        vector<vector<int> > ans;
        for(int i = 1; i <= n; i++) {
            vector<int> tmp;
		    for(int j = 1; j <= n; j++) {
			    tmp.push_back(a[i][j]);
		    }
            ans.push_back(tmp);
	    }
        return ans;
    }
};
posted @   脂环  阅读(41)  评论(0编辑  收藏  举报
编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
历史上的今天:
2020-03-16 矩阵最优连乘问题(区间DP+记忆化)
点击右上角即可分享
微信分享提示
主题色彩