54. 螺旋矩阵
https://leetcode.cn/problems/spiral-matrix/description/?envType=study-plan-v2&envId=top-100-liked
观察示例中的输出轨迹我们可以想到如下设计: 1.在朝某一方向行进到头后的改变方向是确定的,左->下,下->右,右->上,上->左 2.在各个方向的边界也是可以确认的,在改变方向后,行进方向上的边界需要改变,向右上边界+1,向下右边界-1,向左下边界 3.可以通过边界和计数来判度是否结束 初始边界:上:0,右:matrix[0].length-1,下:matrix.length-1,左:0
public static void main(String[] args) {int[][] matrix = {{1,2,3},{4,5,6},{7,8,9}};System.out.println(new Solution().spiralOrder(matrix));}public List<Integer> spiralOrder(int[][] matrix) {// 定义左、上、右、下边界int lBoundary = 0, upBoundary = 0, rBoundary = matrix[0].length - 1, dBoundary = matrix.length - 1;// 定义方向,0:向右,1:向下,2:向左,3:向上int direction = 0;// 计数int count = 0;// 总数int sum = matrix.length * matrix[0].length;// 结果列表List<Integer> res = new ArrayList<>();// 当计数小于总数时,继续循环while(count < sum){// 向右if(direction == 0){// 从左边界到右边界,依次添加元素for(int i = lBoundary; i <= rBoundary; i++){res.add(matrix[upBoundary][i]);count++;}// 上边界下移upBoundary++;}// 向下if(direction == 1){// 从上边界到下边界,依次添加元素for(int i = upBoundary; i <= dBoundary; i++){res.add(matrix[i][rBoundary]);count++;}// 右边界左移rBoundary--;}// 向左if(direction == 2){// 从右边界到左边界,依次添加元素for(int i = rBoundary; i >= lBoundary; i--){res.add(matrix[dBoundary][i]);count++;}// 下边界上移dBoundary--;}// 向上if(direction == 3){// 从下边界到上边界,依次添加元素for(int i = dBoundary; i >= upBoundary; i--){res.add(matrix[i][lBoundary]);count++;}// 左边界右移lBoundary++;}// 改变方向direction = (direction + 1) % 4;}return res;}
相关文章:
54. 螺旋矩阵
https://leetcode.cn/problems/spiral-matrix/description/?envTypestudy-plan-v2&envIdtop-100-liked观察示例中的输出轨迹我们可以想到如下设计: 1.在朝某一方向行进到头后的改变方向是确定的,左->下,下->右,右->…...
剧本杀小程序,市场发展下的新机遇
剧本杀作为休闲娱乐的一种游戏方式,在短时间内进入了大众视野中,受到了广泛关注。近几年,剧本杀行业面临着创新挑战,商家需求寻求新的发展机遇,在市场饱和度下降的趋势下,获得市场份额。 随着科技的不断进…...
【系统架构设计师】论文:论基于 ABSD 的软件开发
更多内容请见: 备考系统架构设计师-专栏介绍和目录 文章目录 摘要正文摘要 2022年5月,我就职的公司承接了xx的智慧党建工作,建设“党建红云” 系统,为xx公司的党组织提供觉务管理、服务功能,促进党员学习和党组织交流。我在该项目中承担架构设计师的职责,主导需求分析和…...
为什么OLED透明屏在同类产品中显示效果最好
说起OLED透明屏,这家伙在同类产品里那真的是“一枝独秀”啊!为啥这么说呢?且听我细细道来。 首先,OLED透明屏的透明度那是杠杠的!它不像传统显示屏那样有个固定的背景,而是可以实现像素级的透明效果。这样一…...
深度学习基础知识-Batch Normalization(BN)超详细解析
一、背景和问题定义 在深层神经网络(Deep Neural Networks, DNNs)中,层与层之间的输入分布会随着参数更新不断发生变化,这种现象被称为内部协变量偏移(Internal Covariate Shift)。具体来说,由…...
基于单片机的燃气报警阀门系统
本设计基于单片机的燃气报警阀门系统,燃气报警阀门系统采用STM32主控制器为核心芯片,外围电路由燃气传感器、OLED液晶显示模块、按键模块、蜂鸣器报警模块、电磁阀以及SIM800模块等模块组成。燃气传感器模块负责采集燃气浓度数据,采集完成由S…...
watch与computed的区别、运用的场景
computed和watch都是响应式数据变化的重要机制,但它们在功能、使用场景和性能表现上有显著的区别。 主要区别 功能和用途 1、computed:计算属性,用于基于其他数据属性进行计算,并返回一个结果。它具有缓存机制,只有当…...
【ESP32+MicroPython】开发环境部署
本教程将指导你如何在Visual Studio Code(VSCode)中设置ESP32的MicroPython开发环境。我们将涵盖从安装Python到烧录MicroPython固件的整个过程,以及如何配置VSCode以便与ESP32进行交互。 准备工作 安装Python 确保你的计算机上安装了Pyth…...
Vision - 开源视觉分割算法框架 Grounded SAM2 配置与推理 教程 (1)
欢迎关注我的CSDN:https://spike.blog.csdn.net/ 本文地址:https://spike.blog.csdn.net/article/details/143388189 免责声明:本文来源于个人知识与公开资料,仅用于学术交流,欢迎讨论,不支持转载。 Ground…...
DAY21|二叉树Part08|LeetCode: 669. 修剪二叉搜索树、108.将有序数组转换为二叉搜索树、538.把二叉搜索树转换为累加树
目录 LeetCode: 669. 修剪二叉搜索树 基本思路 C代码 LeetCode: 108.将有序数组转换为二叉搜索树 基本思路 C代码 LeetCode: 538.把二叉搜索树转换为累加树 基本思路 C代码 LeetCode: 669. 修剪二叉搜索树 力扣代码链接 文字讲解:LeetCode: 669. 修剪二叉搜…...
在gitlab,把新分支替换成master分支
1、备份master分支,可以打tag 2、删除master分支 正常情况下,master分支不允许删除,需要做两个操作才能删除 a、变更项目默认分支为非master分支,可以先随便选择 b、取消master为非保护分支 操作了上述两步,就可以删…...
使用 Spring Boot 集成 Thymeleaf 和 Flying Saucer 实现 PDF 导出
在 Spring Boot 项目中,生成 PDF 报表或发票是常见需求。本文将介绍如何使用 Spring Boot 集成 Thymeleaf 模板引擎和 Flying Saucer 实现 PDF 导出,并提供详细的代码实现和常见问题解决方案。 目录 一、项目依赖二、创建 Thymeleaf 模板三、创建 PDF 生…...
web——upload1——攻防世界
第一次做木马题目,有点懵逼,浮现一下做题思路 可以上传一个文件,通过学习学习到了一句话木马 一句话木马: 利用文件上传漏洞,往目标网站中上传一句话木马,然后你就可以在本地通过中国菜刀chopper.exe即可…...
nginx 搭建网站
1.查看防火墙状态systemctl status firewalld 2.getenforce 3.安装nginx yum install nginx -y 4.网站信息 echo "welcome to yinchuankejixuanyuan" > /usr/share/nginx/html/index.html 5.查看命令状态 nginx -t 6.重启 systemctl restart nginx...
Java基础-Java中的常用类(上)
(创作不易,感谢有你,你的支持,就是我前行的最大动力,如果看完对你有帮助,请留下您的足迹) 目录 String类 创建字符串 字符串长度 连接字符串 创建格式化字符串 String 方法 System类 常用方法 方…...
气压仪器智能打气泵方案芯片SIC8833
智能打气泵方案最开始是机械式的开发,后来慢慢地演变成由一个气缸、压力传感器和主控芯片的开发的PCBA方案,它具备小体积、智能数显、预设胎压、动态测量、精准压力检测以及过充过放等功能。 其方案设计原理是利用主控芯片和压力传感器的组合设计&#x…...
软件测试(系统测试)的定位和专业:完善产品;专业;非助手;自动化
软件测试(系统测试)的定位 在研发流程的后端,测试并非无中生有的创举,而是从既有基础(即“1”)出发,致力于推动产品向更高层次(即从“1”到“100”)的跃升与完善。在这一…...
2024 CSS保姆级教程四
CSS中的动画 CSS动画(CSS Animations)是为层叠样式表建议的允许可扩展标记语言(XML)元素使用CSS的动画的模块 即指元素从一种样式逐渐过渡为另一种样式的过程 常见的动画效果有很多,如平移、旋转、缩放等等&#…...
PostgreSQL技术内幕17:PG分区表
文章目录 0.简介1.概念介绍2.分区表技术产生的背景3.分区类型及使用方式4.实现原理4.1 分区表创建4.2 分区表查询4.3 分区表写入4.4 分区表删除 0.简介 本文主要介绍PG中分区表的概念,产生分区表技术的原因,使用方式和其内部实现原理,旨在能…...
群控系统服务端开发模式-应用开发-上传工厂开发
现在的文件、图片等上传基本都在使用oss存储。而现在常用的oss存储有阿里云、腾讯云、七牛云、华为云等,但是用的最多的还是前三种。而我主要封装的是本地存储、阿里云存储、腾讯云存储、七牛云存储。废话不多说,直接上传设计图及说明,就一目…...
Proteus 8.17安装超详细教程 保姆级教程【附安装包】
电子设计小伙伴们!今天我给大家带来一篇超详细的Proteus 8.17专业版安装教程 !这可是电子工程师和学生党的福音啊!作为PCB设计和单片机仿真的神器,Proteus绝对是你玩转电子设计必备的利器!不会安装?别担心&…...
混合基FFT,matlab实现
参考数字信号处理教程第四版(程佩青著)第四章FFT这里直接给出matlab函数,性能不保证最优注意,此函数只能处理混合基fft,即输入信号x的长度不能是素数,不能是2次幂整数function X mixedRadixFFT(x)% multiB…...
高工独家报告|谁在收割2026智驾市场红利?440万辆背后的芯片大洗牌
高工智能汽车研究院发布《2026年中国市场智能汽车SoC芯片行业分析报告》。报告立足中国乘用车市场,基于乘用车前装量产数据库,全面解析智能驾驶SoC(含前视一体机、域控制器及高阶自动驾驶辅助芯片)与智能座舱SoC(含端侧…...
用 TLA+ 形式化验证 Harness 的并发安全性
从零到一:用TLA+形式化验证Harness CI/CD平台的并发操作安全性 副标题:解决分布式环境下流水线执行、资源抢占、状态一致性的核心痛点 摘要/引言 如果你是云原生团队的开发或运维工程师,大概率遇到过这样的场景:两个生产部署流水线同时触发,同时抢占同一个K8s集群的环境…...
别再手动写远程搜索了!手把手教你封装一个通用的 Element Plus el-select-v2 组件
打造高复用性远程搜索组件:Element Plus el-select-v2 深度封装指南 在Vue 3和Element Plus构建的中后台系统中,远程搜索下拉框几乎是每个表单页面的标配功能。当项目中有十几个甚至几十个表单都需要实现类似功能时,直接复制粘贴代码不仅导致…...
dumpsys netstats detail 输出解释netd的app的网络流量统计
dumpsys netstats detail 输出解释 重启后,数据会清零,从新统计 UID tag stats: Pending bytes: 27977 History since boot: ident[{type9, ratTypeCOMBINED, meteredtrue, defaultNetworktrue, oemManagedOEM_NONE, subId-1}] uid1000 setDEFAULT tag0x…...
AI-native开发:从工具使用者到智能体编排工程师的范式跃迁
1. 这不是“学AI工具”,而是重构整个开发认知体系“AI-native软件开发者”这个说法最近在技术社区刷屏,但很多人一上来就去狂刷Copilot快捷键、背Prompt模板、堆砌LLM API调用——这就像当年刚有IDE时,有人花三个月专门练CtrlShiftF的肌肉记忆…...
大模型稀疏激活:MoE架构的工程实践与负载均衡
1. 这不是参数堆砌,而是“动态稀疏激活”的工程革命你可能已经看到过那条刷屏的推文:“GPT-4有1.8万亿参数,但每生成一个token只用其中2%。”——这句话像一道闪电劈开了大模型圈的认知惯性。它背后没有玄学,没有营销话术…...
手把手教你用Mosquitto + PowerShell玩转MQTT消息订阅与发布(实战测试篇)
手把手教你用Mosquitto PowerShell玩转MQTT消息订阅与发布(实战测试篇) MQTT协议作为物联网领域的核心通信标准,其轻量级和发布/订阅模式为设备互联提供了高效解决方案。本文将带您通过Windows PowerShell与Mosquitto搭建完整的MQTT测试环境…...
Houdini 19.5 新手必看:从自定义启动界面到项目设置的保姆级避坑指南
Houdini 19.5 新手必看:从自定义启动界面到项目设置的保姆级避坑指南 第一次打开Houdini 19.5时,面对密密麻麻的界面和复杂的参数设置,很多新手会感到无所适从。本文将带你系统性地完成从界面个性化到项目配置的全流程,避开那些容…...
