螺旋矩阵II(leetcode 59)

转圈过程(边界处理)遵循循环不变量的原则,坚持一个原则处理每一条边,左闭右开处理

cpp 复制代码
class Solution {
public:
    vector<vector<int>> generateMatrix(int n) {
        vector<vector<int>> num(n, vector<int>(n, 0));
        int startx = 0;
        int starty = 0;
        int offset = 1;
        int count = 1;
        int loop = n/2;
        int i;
        int j;
        while(loop --)
        {
            
            for( j = starty; j < n - offset; j++)
            {
                num[startx][j] = count;
                count ++;
            }
            for( i = startx; i < n - offset; i++)
            {
                num[i][j] = count;
                count ++;
            }
            for( ; j > starty; j--)
            {
                num[i][j] = count;
                count ++;
            }
            for( ; i > startx; i--)
            {
                num[i][j] = count;
                count ++;
            }
            startx++;
            starty++;
            offset++;
        }
        if(n % 2)
        {
            num[n/2][n/2] = count;
        }
        return num;
    }
};
相关推荐
通信小呆呆1 天前
当算法有了“五感”:多模态数据融合如何向人体感官协同学习?
人工智能·学习·算法·机器学习·机器人
Bobolink_1 天前
TikTok矩阵账号如何批量养号?工作室级运营方案分享
矩阵·内容运营·跨境电商·tik tok·账号运营
benben0441 天前
强化学习之DQN算法族(基于gymnasium开发)
算法
何以解忧,唯有..1 天前
Go语言循环语句详解:for、range与循环控制
开发语言·算法·golang
想吃火锅10051 天前
【leetcode】88.合并两个有序数组js
算法
生成论实验室1 天前
机器人:一个自主运动的系统
人工智能·算法·语言模型·机器人·自动驾驶·agi·安全架构
Qres8211 天前
算法复键——树状数组
数据结构·算法
H178535090961 天前
SolidWorks第四部分_直接实体建模特征9_替换面原理
线性代数·算法·机器学习·3d建模·solidworks
不会就选b1 天前
算法日常・每日刷题--<二分查找>3
算法