【LeetCode-中等题】59. 螺旋矩阵 II

news2024/12/24 11:04:27

文章目录

    • 题目
    • 方法一:二维数组缩圈填数字
    • 方法二:

题目

在这里插入图片描述

方法一:二维数组缩圈填数字

在这里插入图片描述

定义四个边界条件,每转一圈,把数值填进去,然后缩小一圈,直到不满足条件位置
结束循环条件可以是:
两种结束条件都可以,但是一定要注意每次处理一条边界的范围 不能重复赋值

 while(right >= left && bom >= top){//结束转圈条件(边界不满足)
        //while(count <= n * n){//结束转圈条件(填写数值到最大了  无需填了)    
      
class Solution {
//方法一  : 定义四个边界条件,每转一圈,就缩小一圈,直到不满足条件位置
    public static int[][] generateMatrix(int n) {
        int[][] res = new int[n][n];
        int left = 0;
        int right = n-1;
        int top = 0;
        int bom = n-1;
        int count = 1;//计数器
        while(right >= left && bom >= top){//结束转圈条件
        //while(count <= n * n){//结束转圈条件     两种结束条件都可以
            //上左闭右闭
            for(int i = left;i<=right ; i++){
                res[top][i] = count;
                count++;
            }
            //右   上开下闭
            for(int i = top+1;i<=bom ; i++){
                res[i][right] = count;
                count++;
            }
            //下   左闭右开
            for(int i = right-1;i>=left ; i--){
                res[bom][i] = count;
                count++;
            }
            //左 下开上开
            for(int i = bom-1;i>top ; i--){
                res[i][left] = count;
                count++;
            }
            //缩小一圈   修改四个边界
            left++;
            right--;
            top++;
            bom--;
        }
        return res;
    }
}

方法二:

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

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

相关文章

精彩纷呈!安全狗亮相厦门市第五届网络安全宣传周开幕式

9月5日&#xff0c;厦门市第五届网络安全宣传周开幕式成功举行。 作为国内云原生安全领导厂商&#xff0c;安全狗也受邀参与此次大会。 厦门服云信息科技有限公司&#xff08;品牌名&#xff1a;安全狗&#xff09;成立于2013年&#xff0c;致力于提供云安全、&#xff08;云&a…

技术解码 | GB28181/SIP/SDP 协议--EasyGBS国标GB28181平台国标视频技术SDP解析

EasyGBS去年更换了新内核&#xff0c;新内核版本的平台性能更加稳定&#xff0c;我们也在不断对平台进行持续的功能优化和升级&#xff0c;始终保持EasyGBS平台在安防视频监控市场的技术先进性。EasyGBS拥有视频直播、录像存储、检索与回放、云台控制、告警上报、语音对讲、平台…

React+antd实现可编辑单元格,非官网写法,不使用可编辑行和form验证

antd3以上的写法乍一看还挺复杂&#xff0c;自己写了个精简版 没用EditableRowCell的结构&#xff0c;也不使用Context、高阶组件等&#xff0c;不使用form验证 最终效果&#xff1a; class EditableCell extends React.Component {state {editing: false};toggleEdit () &…

windows10下同时安装两个mysql服务的解决办法

windows10下同时安装两个mysql服务的解决办法 安装MySQL8.0.18版本 安装解压版MySQL8.0.25 &#xff08;1&#xff09; 下载解压包 &#xff08;2&#xff09;配置my.ini文件 [mysqld] port 3307 #mysql安装目录 basedir D:\HuanJing\Mysql\mysql-8.0.25-winx64 #mysql数据存…

WebDAV之π-Disk派盘 + FV管理器

FV管理器是一款清爽简洁的文件管理器。支持Android系统免root访问data和obb目录的工具。通过无线网络管理文件,局域网文件共享。支持jpg,png,gif,bmp,webp,tif,heif,dng,avif,ico,APNG等格式的图片,可能是支持最多图片格式的文件管理App了。 支持zip,rar,7z,iso…

学会制作企业纪念相册,记录企业成长瞬间

企业成长瞬间&#xff0c;美好记忆永存&#xff01; 今天来给大家分享一个超级实用的技能&#xff0c;如何制作企业纪念相册呢&#xff1f; 想要记录下企业成长历程中的每一个美好瞬间&#xff0c;把回忆永久保存下来吗&#xff1f;那就跟着我一起往下看吧&#xff01; 首先&…

分享20+个在线工具网站,60+常用工具

&#x1f482; 个人网站:【工具大全】【游戏大全】【神级源码资源网】&#x1f91f; 前端学习课程&#xff1a;&#x1f449;【28个案例趣学前端】【400个JS面试题】&#x1f485; 寻找学习交流、摸鱼划水的小伙伴&#xff0c;请点击【摸鱼学习交流群】 今天给大家分享20在线工…

记录一次Docker与Redis冲突

✅作者简介&#xff1a;大家好&#xff0c;我是Leo&#xff0c;热爱Java后端开发者&#xff0c;一个想要与大家共同进步的男人&#x1f609;&#x1f609; &#x1f34e;个人主页&#xff1a;Leo的博客 &#x1f49e;当前专栏&#xff1a; 报错以及Bug ✨特色专栏&#xff1a; …

知网被处罚5000万,加强合规意识迫在眉睫

近日&#xff0c;国内知名学术搜索平台知网被处罚5000万的消息引起了广泛关注。此次处罚不仅是对知网在数据管理和用户隐私保护方面存在违规行为的警示&#xff0c;也是侧面反映了政府部门对企业合规力度监管的升级&#xff0c;更是提醒企业和个人加强合规意识的重要性。 合规…

mes系统开发和上位机软件开发哪个方向前景更好?

MES系统开发和上位机软件开发都是与工业自动化相关的领域&#xff0c;各自有不同的前景和发展方向。下面是对两者的简要介绍和前景评估&#xff1a;MES系统开发&#xff1a;MES系统&#xff08;制造执行系统&#xff09;是用于实现制造业生产管理和信息化的软件系统。它涵盖了生…

2023年中秋节和国庆节放假几天?用待办软件记录放假安排并提醒

进入公历9月&#xff0c;我们都期待着下个长假的到来。那么2023年中秋节和国庆节放假几天呢&#xff1f;因为今年的中秋节是公历的9月29日&#xff0c;所以今年的中秋节和国庆节是连在一起放假的。放假时间安排是9月29日至10月6日&#xff0c;一共放假8天。而10月7日和8日则是调…

Quartus Ⅱ中遇到的问题

记录Quartus中遇到的报错 一、Failed to launch MegaWizard Plug-In Manager 报错&#xff1a;Failed to launch MegaWizard Plug-In Manager. PLL IntelFPGA IP v18.1 could not be found in the specified librarypaths. 原因&#xff1a;编译后无法再打开IP核查看了&…

FreeRTOS 内存管理策略

目录 1. FreeRTOS 的核心功能 2. 为什么 FreeRTOS 要自己实现内存管理 3. FreeRTOS 的5种内存管理策略 3.1 Heap_1&#xff08;只建不删&#xff09; 3.2 Heap_2&#xff08;Heap1_Pro、提供删除&#xff0c;产生碎片&#xff09; 内存碎片是怎么出现的 3.3 Heap_3&…

Stream流操作

一、流的分类 1.1 流的方向&#xff1a;输入流和输出流 输入流&#xff1a; 输入到计算机内存&#xff0c;键盘键入&#xff0c;文件读取等 输出流&#xff1a; 从计算机内存输出&#xff0c;写入显示器&#xff0c;文件写入等 1.2 流的功能&#xff1a;节点流和过滤流 节点流…

前端excel写入信息并下载

// 需要npm install xlsx&#xff0c;安装xlsx依赖 const data {management: {zh-cn: 管理,en-us: ,}, };function dataToFormat(data) {let newdata [];for (let i in data) {newdata.push({序号: i,,内容: data[i][zh-cn],});}return newdata; }function exportToExcel(old…

京东全品类指数查询API接口

京东全品类指数查询API接口&#xff08;Jingdong full category index query API interface&#xff09;是在京东平台的数据支撑基础上开发出来的一种应用程序编程接口&#xff0c;是由京东手机数码指数接口、食品饮料指数接口、母婴保健指数接口、服装鞋包指数接口、办公设备指…

开发者的商业智慧:产品立项策划你知道多少?

文章目录 想法的萌芽&#x1f31f;初步评估产品可行性&#x1f34a;分析核心功能和特点以及竞争对手&#x1f4dd;大健康监测&#x1f4dd;时尚新科技产品&#x1f4dd;准确性&#x1f4dd;多功能&#x1f4dd;品牌口碑&#x1f4dd;数据分析与个性化建议&#x1f4dd;社交互动…

vue中预览xml并高亮显示

项目中有需要将接口返回的数据流显示出来&#xff0c;并高亮显示&#xff1b; 1.后端接口返回blob,类型为xml,如图 2.页面中使用pre code标签&#xff1a; <pre v-if"showXML"><code class"language-xml">{{xml}}</code></pre> …

电阻和电容

目录 1、常见的电阻器 2、电容 ​编辑 1、常见的电阻器 对于电阻需要了解三个参数&#xff08;查询电阻的数据手册&#xff09;&#xff1a; 1、封装&#xff1a;就是电阻的尺寸或者大小&#xff0c;看焊在你的pcb板上是否合适。 2、标称&#xff1a;电阻的电阻大小、精度、…

学习笔记-静态路由配置有来无回导致无法访问目标IP

配置拓扑图&#xff1a; 已经在R1、R2、R3相应端口配置了相应IP。 在R2上配置静态路由&#xff1a; [R2]ip route-static 10.0.3.0 24 10.0.23.3 [R2]ip route-static 10.0.13.0 24 10.0.23.3执行tracert 10.0.3.3&#xff0c;可以到达目标IP 执行tracert 10.0.13.3&#xff…