算法(C++

news2024/10/5 12:50:18

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

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

示例 1:

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

示例 2:

输入:n = 1
输出:[[1]]

提示:

  • 1 <= n <= 20

题解:

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;
    }
};

理解:

要分好四个步骤

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1647381.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

IT养生知识之:子午流注

《子午流注口诀》 肺寅大卯胃辰宫&#xff0c; 脾巳心午小未中&#xff0c; 申膀酉肾心包戌&#xff0c; 亥焦子胆丑肝通。 何为子午流注&#xff1f; 子午流注是中医圣贤发现的一种规律&#xff0c;中医认为人体中十二条经脉对应着每日的十二个时辰&#xff0c;由于时辰在…

计算机网络4——网络层8 软件定义网络 SDN

文章目录 一、介绍1、简介2、原理3、案例1&#xff09;普通2&#xff09;负载均衡的例子3&#xff09;防火墙的例子 二、控制层面1、特征2、层次 一、介绍 1、简介 SDN的概念最初由斯坦福大学N.McKeown于2009年首先提出。当时还只是在学术界进行探讨的一种新的网络体系结构。…

springboot+mp自动生成没有实体类

mybatisX版本冲突问题 一开始我的MyBatisX版本是1.6.1-3,使用mybatis-plus一直不能正常生成实体类 将MyBatisX的版本换成了1.5.7就可以了 MyBatisX版本更换 1.将原有的MyBatisX卸载后重新安装一个新的版本 2.选择一个合适的版本,这里我选的是1.5.7 下载完成后自己选择一个…

css实现上下左右对勾选中状态角标

&#x1f365;左上角 &#x1f365;右上角 &#x1f365;左下角 &#x1f365;右下角: &#x1f365;左上角: .blueBackground {position: relative;border: 1px solid #91c7f3;background: #F0F8FF !important;&:after {content: "";position: absolute;top:…

【Java从入门到精通】Java 重写(Override)与重载(Overload)

重写(Override) 重写&#xff08;Override&#xff09;是指子类定义了一个与其父类中具有相同名称、参数列表和返回类型的方法&#xff0c;并且子类方法的实现覆盖了父类方法的实现。 即外壳不变&#xff0c;核心重写&#xff01; 重写的好处在于子类可以根据需要&#xff0c…

jmeter后置处理器提取到的参数因为换行符导致json解析错误

现象&#xff1a; {"message":"JSON parse error: Illegal unquoted character ((CTRL-CHAR, code 10)): has to be escaped using backslash to be included in string value; nested exception is com.fasterxml.jackson.databind.JsonMappingException: Ill…

FastAdmin实现后台菜单自定义方法

FastAdmin实现后台菜单自定义显示&#xff0c;默认显示的是编辑和删除操作&#xff0c;我们有的时候是需要增加一些功能性的按钮&#xff0c;例如审核&#xff0c;或者说更多的关联性的信息。那么我们就可以按如下的操作去做 上面是默认展示的功能图片&#xff0c;下面我来简单…

上海亚商投顾:沪指创年内新高 化工板块掀涨停潮

上海亚商投顾前言&#xff1a;无惧大盘涨跌&#xff0c;解密龙虎榜资金&#xff0c;跟踪一线游资和机构资金动向&#xff0c;识别短期热点和强势个股。 一.市场情绪 三大指数昨日高开震荡&#xff0c;沪指涨超1%续创年内新高&#xff0c;深成指、创业板指均涨约2%。化工股集体…

PPT中如何在原有的表格中新增/删除一行

在编辑PPT中插入的表格时&#xff0c;如果发现原有表格不够用/原有表格需过多&#xff0c;需要新插入/新删除一行&#xff0c;应该怎么做&#xff1f;今天就为大家演示一下这个小常识。 1.PPT中在原有的表格中新增一行 -->任意选中表格中的一行(默认一般选择最后一行) --&…

深入C语言:文件操作实现局外影响程序

一、什么是文件 文件其实是指一组相关数据的有序集合。这个数据集有一个名称&#xff0c;叫做文件名。文件通常是驻留在外部介质(如磁盘等)上的&#xff0c;在使用时才调入内存中来。 文件一般讲两种&#xff1a;程序文件和数据文件&#xff1a; 程序文件&#xff1a;包括源程…

模拟IC设计实践教程(入门)

一、教学大纲 二、芯片设计及量产总体流程 芯片需求分析&#xff1a;即产品定义&#xff0c;功能要求&#xff0c;性能要求工艺选择及评估&#xff1a;不同工艺特性相差较大&#xff0c;不同工艺的成本也是不同的。主要用于评估工艺的性价比&#xff0c;工艺提供的元器件能不能…

pip install 过程中报错:Microsoft Visual C++ 14.0 is required.

这是因为电脑中缺少这个组件导致的,我们将这个组件安装上即可解决问题。 安装报错关键信息:Microsoft Visual C++ 14.0 is required. 目录 一、下载组件 二、 安装步骤 一、下载组件 阿里网盘:VisualStudioSetup.exe:

绝地求生:季后赛名额确定!NH战队总积分榜排名第一!

2024年5月5日&#xff0c;PCL春季赛常规赛第五阶段第三天比赛结束&#xff0c;今天打完春季赛常规赛结束&#xff0c;16个战队进入季后赛的名额已确定。NH战队总积分506分&#xff0c;总积分榜排名第一&#xff01;&#xff01;NH战队也是唯一一支总积分超过500分的队伍。今天最…

LabVIEW自动机械变速器(AMT)开发

LabVIEW自动机械变速器&#xff08;AMT&#xff09;开发 在现代汽车工业中&#xff0c;提升车辆的自动化水平和驾驶体验是一个不断追求的目标。随着技术的发展&#xff0c;自动机械变速器&#xff08;AutomatedMechanical Transmission, AMT&#xff09;凭借其较高的能效和较低…

详解嵌入式MCU运行时分配的stack和heap

目录 概述 1 认识stack和heap 1.1 栈区&#xff08;stack&#xff09; 1.2 堆区&#xff08;heap&#xff09; 2 stack和heap的区别 2.1 管理方式的不同 2.2 空间大小不同 2.3 产生碎片不同 2.4 增长方式不同 2.5 分配方式不同 2.6 分配效率不同 3 确定stack和heap…

细数:智能物流装备界的并购案~

导语 大家好&#xff0c;我是智能仓储物流技术研习社的社长&#xff0c;老K。专注分享智能仓储物流技术、智能制造等内容。 新书《智能物流系统构成与技术实践》 近年来&#xff0c;随着智能仓储物流行业的快速发展&#xff0c;全球范围内的并购活动日益频繁&#xff0c;各大企…

Hamilton回路求解

如果可以 我想和你回到那天相遇 让时间停止 那一场雨 红线划过 深藏轮回的秘密 我挥霍运气 因为你 才让我 背对命运不害怕 --------- 如果可以 (Acapella) - 韦礼安 大家好&#xff0c;我又又又来了&#xff0c;今天给大家聊聊Hamilton回路&#xff01; 背景 国际象…

VSCode通过SSH连接虚拟机Ubuntu失败

问题说明 最近使用VSCode通过SSH连接Ubuntu&#xff0c;通过VSCode访问Ubuntu进行项目开发&#xff0c;发现连接失败 在VSCode中进行SSH配置 这些都没有问题&#xff0c;但在进行连接时候出现了问题&#xff0c;如下&#xff1a; 出现了下面这个弹窗 解决方法 发现当…

从简单逻辑到复杂计算:感知机的进化与其在现代深度学习和人工智能中的应用(上)

文章目录 引言第一章&#xff1a;感知机是什么第二章&#xff1a;简单逻辑电路第三章&#xff1a;感知机的实现3.1 简单的与门实现3.2 导入权重和偏置3.3 使用权重和偏置的实现实现与门实现与非门和或门 文章文上下两节 从简单逻辑到复杂计算&#xff1a;感知机的进化与其在现代…

与 Apollo 共创生态:Apollo 7 周年大会的启示与心得

文章目录 前言Apollo X 全新征程Application X 企业预制套件总结 前言 在过去的七年中&#xff0c;Apollo 开放平台经历了一段令人瞩目的发展历程。从最初的构想到如今的成熟阶段&#xff0c;Apollo 已经推出了 13 个版本&#xff0c;吸引了来自全球 170 多个国家和地区的 16 …