Rust 力扣 - 54. 螺旋矩阵
文章目录
- 题目描述
- 题解思路
- 题解代码
- 题目链接
题目描述

题解思路
我们只需要一圈一圈的从外向内遍历矩阵,每一圈遍历顺序为上边、右边、下边、左边
我们需要注意的是如果上边与下边重合或者是右边与左边重合,我们只需要遍历上边、右边即可
题解代码
impl Solution {pub fn spiral_order(matrix: Vec<Vec<i32>>) -> Vec<i32> {let (m, n) = (matrix.len(), matrix[0].len());let mut ans = Vec::with_capacity(m * n);let (mut t, mut b, mut l, mut r) = (0, m - 1, 0, n - 1);// 从外圈向内圈遍历while l <= r && t <= b {// 上边 从左到右for i in l..=r {ans.push(matrix[t][i]);}// 右边 从上到下for i in (t + 1)..=b {ans.push(matrix[i][r]);}if l < r && t < b {// 下边 从右到左for i in ((l + 1)..r).rev() {ans.push(matrix[b][i]);}// 左边 从下到上for i in ((t + 1)..=b).rev() {ans.push(matrix[i][l]);}}l += 1;if r != 0 {r -= 1;}t += 1;if b != 0 {b -= 1;}}ans}
}
题目链接
https://leetcode.cn/problems/spiral-matrix/
相关文章:
Rust 力扣 - 54. 螺旋矩阵
文章目录 题目描述题解思路题解代码题目链接 题目描述 题解思路 我们只需要一圈一圈的从外向内遍历矩阵,每一圈遍历顺序为上边、右边、下边、左边 我们需要注意的是如果上边与下边重合或者是右边与左边重合,我们只需要遍历上边、右边即可 题解代码 i…...
Flutter 简述(1)
Flutter 简述 简述 Flutter是Google开源的应用框架,只要一套代码兼顾Android、iOS、Web、Windows、macOS和Linux六个平台,它的设计思路可以说更加先进,不像ReactNative每个组件都需要有对应的原生组件实现,而是通过skia或者其他…...
BGP实验--BGP路由反射器
AR1、AR2上的Loopback 1接口分别为10.1.1.1/24、10.2.2.2/24,用于模拟用户网段 所有设备均使用Loopback 0地址为BGP Router ID,AR1与AR2、AR2与AR3、AR3与AR4、AR4与AR2之间基于直连接口建立IBGP对等体关系,其中AR1为AR2的路由反射器客户端&a…...
域渗透-域环境部署
01-域渗透部署 一、工作组和域 1、为什么需要域 在早期Windows主机都是属于工作组网络,单独的个体,在企业环境中,针对于工作组网络的计算机要达到统一管理相当麻烦,为实现将一个企业中所有的用户和计算机进行集中管理ÿ…...
【Oracle】空格单字符通配符查询匹配失败
问题 在进行模糊查询的时候,通过全局任意字符串匹配出含有两个字刘姓的人,但是通过刘_不能匹配出结果。 解决 检查后发现,姓名中包含空格 SELECT * FROM student WHERE TRIM(sname) LIKE 刘_;第一种解决方案就是查询的时候进行去空格处理&a…...
uniapp实现中间平滑凸起tabbar
uniapp实现中间平滑凸起tabbar 背景实现思路代码实现尾巴 背景 在移动端开发中,tabar是一个使用频率很高的组件,几乎是每个APP都会用到。今天给大家分享一个中间平滑凸起的tabbar组件,有需要的可以做下参考。先上图镇楼: 实现思…...
【视频】OpenCV:识别颜色、绘制轮廓
1、安装OpenCV库 sudo apt install libopencv-dev2、链接库 将 OpenCV 头文件路径和库添加到CMake中,在 CMakeLists.txt 中添加 1)查找库 find_package(OpenCV REQUIRED) 或者 find_package(OpenCV REQUIRED core imgproc highgui) 2)添加头文件路径 include_directories…...
C++_STL_xx_番外01_关于STL的总结(常见容器的总结;关联式容器分类及特点;二叉树、二叉搜索树、AVL树(平衡二叉搜索树)、B树、红黑树)
文章目录 1. 常用容器总结2. 关联式容器分类3. 二叉树、二叉搜索树、AVL树、B树、红黑树 1. 常用容器总结 针对常用容器的一些总结: 2. 关联式容器分类 关联式容器分为两大类: 基于红黑树的set和map;基于hash表的unorder_set和unorder_ma…...
xlrd.biffh.XLRDError: Excel xlsx file; not supported
文章目录 一、问题报错二、报错原因三、解决思路四、解决方法 一、问题报错 在处理Excel文件时,特别是当我们使用Python的xlrd库来读取.xlsx格式的文件,偶尔会遇到这样一个错误:“xlrd.biffh.XLRDError: Excel xlsx file; not supported”。…...
ENNSP中ACL的实验配置
ACL:访问控制列表 1访问控制----在路由器的入或者出的接口上,匹配流量,之后产生动作---允许或拒绝 2.定义感兴趣流量-----帮助其他软件抓流量 访问控制的匹配规则: 拓扑图如下 基础配置 基础配置弄好后,随便p…...
数字后端零基础入门系列 | Innovus零基础LAB学习Day8
###LAB15 Detail Routing for Signal Integrity, Timing, Power and Design for Yield 这个章节虽然标题有点长,但不要被它吓到,其实这个章节就是Innovus工具的绕线Routing。只不过这个阶段做Route不是仅仅是把所有的逻辑连接,用实际的金属层…...
【AI开源项目】FastGPT- 快速部署FastGPT以及使用知识库的两种方式!
文章目录 一、FastGPT大模型介绍1. 开发团队2. 发展史3. 基本概念 二、FastGPT与其他大模型的对比三、使用 Docker Compose 快速部署 FastGPT1、安装 Docker 和 Docker Compose(1). 安装 Docker(2). 安装 Docker Composeÿ…...
信息学科平台系统开发:Spring Boot实用指南
3系统分析 3.1可行性分析 通过对本基于保密信息学科平台系统实行的目的初步调查和分析,提出可行性方案并对其一一进行论证。我们在这里主要从技术可行性、经济可行性、操作可行性等方面进行分析。 3.1.1技术可行性 本基于保密信息学科平台系统采用Spring Boot框架&a…...
笔记本电脑买i7还是i9?i7和i9处理器区别详细介绍
i7和i9处理器都是英特尔(Intel)公司生产的高性能处理器,但它们有一些显著的区别。为了帮助你做出明智的选择,下面我们详细介绍一下i7和i9处理器的区别,以及如何根据你的需求来选择合适的处理器。 一、i7处理器的特点…...
Netty原来就是这样啊(一)
前言: 当前对于整体而言来说就是说分为客户端以及服务端然后服务端接收到客户端的请求之后将客户端想要的结果返回给它,但是这个就需要建立一个连接进行数据的传输除此以外我们是通过网络进行传输的那么就需要网络协议 (TCP UDP),建立的连接就是叫Socket连接 Socket的具体介绍…...
量子容错计算
基本思想 容错量子计算的基本想法是,在合理编码后的量子态上直接量子计算,以至于不完全需要解码操作。假设有一个简单的量子电路,但不幸的是噪声影响着这个电路的每一个元件,包括量子态的制备、量子逻辑门、对输出的测量&#x…...
QGraphics View坐标系
QGraphics View绘图结构依赖三个类:QGraphicsScene,QGraphicsView,QGraphicsItem。 这三者的关系在前面已经介绍过:Graphics View 绘图架构-CSDN博客 这里介绍下这三者的坐标系,以及如何相互转换。 1. QGraphicsScen…...
繁星之下--
在一个宁静的小镇上,年轻的画家阿宁用她的画笔捕捉着四季的变换。这个小镇四季分明,春天的嫩芽、夏天的繁花、秋天的金黄和冬天的白雪,仿佛每一个季节都在向她诉说着自己的故事。阿宁常常在思考,如何将这些美丽的瞬间转化为永恒的…...
Transformer+KAN系列时间序列预测代码
前段时间,来自 MIT 等机构的研究者提出了一种非常有潜力的替代方法 ——KAN。该方法在准确性和可解释性方面表现优于 MLP。而且,它能以非常少的参数量胜过以更大参数量运行的 MLP。 KAN的发布,引起了AI社区大量的关注与讨论,同时…...
vue项目安装组件失败解决方法
1.vue项目 npm install 失败 删除node_modules文件夹、package-lock.json 关掉安装对话框 重新打开对话框 npm install...
如何彻底告别网盘限速?八大平台直链解析工具全攻略
如何彻底告别网盘限速?八大平台直链解析工具全攻略 【免费下载链接】Online-disk-direct-link-download-assistant 可以获取网盘文件真实下载地址。基于【网盘直链下载助手】修改(改自6.1.4版本) ,自用,去推广…...
泛微E9开发实战:如何实现跨月份自动计算结束日期(附完整代码)
泛微E9开发实战:跨月份日期计算的工程化解决方案 财务报销周期自动闭合、项目里程碑智能推算、合同履约期限动态生成——这些高频业务场景背后,都藏着一个让泛微E9开发者头疼的日期计算难题。当开始日期遇上月末临界点,简单的天数相加就会引发…...
【数字信号检测】迫零算法大规模MIMO低复杂度信号检测【含Matlab源码 15237期】
💥💥💥💥💥💥💥💥💞💞💞💞💞💞💞💞💞Matlab领域博客之家💞&…...
TikTok GMXMAX广告优化全攻略
在2026年,TikTok广告投放逐渐向自动化模型演进,其中GMX MAX(GMV Max)成为很多团队用来提升ROI和放量的重要方式。相比传统广告模式,它可以自动完成受众匹配与预算分配,减少大量人工干预。不过在实际操作中&…...
Qwen2.5-VL-7B-Instruct部署案例:律所合同图像关键条款高亮+法律依据自动关联
Qwen2.5-VL-7B-Instruct部署案例:律所合同图像关键条款高亮法律依据自动关联 1. 这不是普通OCR,是懂法的视觉助手 你有没有遇到过这样的场景:律所助理收到客户发来的扫描版PDF合同,需要在30分钟内标出违约责任、管辖法院、保密义…...
RK3399pro固件逆向实战:3步提取文件系统(附完整命令)
RK3399pro固件逆向实战:从原理到实践的深度拆解 在嵌入式设备安全研究领域,固件逆向分析是获取设备内部运行机制的关键入口。作为Rockchip旗下的高性能处理器,RK3399pro广泛应用于智能硬件、边缘计算设备等领域。当我们拿到一个RK3399pro设备…...
Qt+OpenCV+海康SDK实战:多线程回调架构下的实时视频流解码与Mat转换全流程解析
1. 项目背景与核心挑战 在智能安防和视频监控领域,实时视频流处理一直是技术难点。传统方案往往面临三个关键问题:视频流延迟高、解码效率低下、跨平台兼容性差。这正是我们选择QtOpenCV海康SDK技术栈的原因——Qt提供跨平台GUI支持,OpenCV负…...
从‘猫狗大战’到医疗影像:LRP(逐层相关性传播)如何帮医生看懂AI的‘诊断思路’?
从‘猫狗大战’到医疗影像:LRP如何成为医生与AI的翻译官 当一位放射科医生第一次看到AI系统标注的肺结节"恶性概率92%"时,他的反应不是赞叹,而是皱眉:"它凭什么这么判断?"这种场景正在全球各大医院…...
别再只防SSH了!给OpenWRT的Web管理后台LuCI也加上fail2ban防护(附日志配置避坑指南)
OpenWRT安全加固:为LuCI管理界面部署fail2ban防护的完整方案 路由器作为家庭网络的入口,其安全性往往被严重低估。大多数用户会记得给SSH服务配置fail2ban防护,却忽略了同样暴露在公网的Web管理界面——LuCI。这种安全防护的"偏科"…...
为什么92%的Spring Cloud Function项目仍在忍受秒级冷启动?这4个被忽视的Classloader陷阱必须立即修复
第一章:冷启动问题的云原生本质与量化归因冷启动并非单纯的应用延迟现象,而是云原生架构中资源按需供给、隔离边界强化与运行时环境动态构建三者耦合引发的系统性效应。其本质在于容器编排层(如 Kubernetes)与函数计算平台&#x…...
