算法(C++

题目:螺旋矩阵(59. 螺旋矩阵 II - 力扣(LeetCode)

给你一个正整数 n ,生成一个包含 1n2 所有元素,且元素按顺时针顺序螺旋排列的 n x n 正方形矩阵 matrix

示例 1:

复制代码
输入:n = 3
输出:[[1,2,3],[8,9,4],[7,6,5]]

示例 2:

复制代码
输入:n = 1
输出:[[1]]

提示:

  • 1 <= n <= 20

题解:

cpp 复制代码
class Solution {
public:
    vector<vector<int>> generateMatrix(int n) {
        vector<vector<int>> res(n, vector<int>(n, 0));
        int starti=0,startj=0;
        int count=1;
        int circle=n/2;
        int endd=n/2;
        int flag=1;
        int i,j;
        while(circle--){
            i=starti;
            j=startj;
            for(;j<n-flag;j++){
                res[i][j]=count++;
            }
            for(;i<n-flag;i++){
                res[i][j]=count++;
            }
            for(;j>startj;j--){
                res[i][j]=count++;
            }
            for(;i>starti;i--){
                res[i][j]=count++;
            }
            flag++;
            starti++;
            startj++;
        }
        if(n%2!=0){
            res[endd][endd]=count;
        }
        return res;
    }
};

理解:

要分好四个步骤

相关推荐
打不了嗝 ᥬ᭄10 分钟前
传输层协议TCP
linux·服务器·网络·c++·tcp/ip
屹奕12 分钟前
基于EasyExcel实现Excel导出功能
java·开发语言·spring boot·excel
hixiong12314 分钟前
C# OpencvSharp使用lpd_yunet进行车牌检测
开发语言·opencv·计算机视觉·c#
Lj2_jOker18 分钟前
QT 给Qimage数据赋值,显示异常,像素对齐的坑
开发语言·前端·qt
闻缺陷则喜何志丹19 分钟前
【超音速专利 CN118134841A】一种光伏产品缺陷检测AI深度学习算法
人工智能·深度学习·算法·专利·光伏·超音速
吴名氏.19 分钟前
细数Java中List的10个坑
java·开发语言·数据结构·list
初学者,亦行者34 分钟前
Rayon并行迭代器:原理、实践与性能优化
java·开发语言·spring·rust
爱看科技44 分钟前
微美全息(NASDAQ:WIMI)容错量子计算赋能,大规模机器学习模型高效量子算法获突破
算法·机器学习·量子计算
我想进大厂1 小时前
Python---数据容器(Set 集合)
开发语言·python
敲上瘾1 小时前
Linux系统C++开发环境搭建工具(三)—— brpc使用指南
linux·c++·分布式·rpc