当前位置: 首页 > article >正文

LeetCode 3643.子矩阵垂直翻转算法解析

LeetCode 3643.子矩阵垂直翻转算法解析题目描述给定一个二维矩阵grid和四个参数(x, y, k)实现一个函数将矩阵中以(x, y)为左上角、边长为k的正方形子矩阵进行上下翻转垂直镜像翻转。算法思路本题的核心是实现子矩阵的垂直翻转操作。垂直翻转即将子矩阵的第1行与第k行交换第2行与第k-1行交换以此类推直到中间行。实现方法采用双指针法设置两个指针l上边界和r下边界初始分别指向子矩阵的第一行和最后一行当l r时交换这两行的所有元素然后lr--继续交换直到两指针相遇代码实现classSolution{public:vectorvectorintreverseSubmatrix(vectorvectorintgrid,intx,inty,intk){intlx,rxk-1;// 设置上下边界指针while(lr){// 当未到达中间时for(intjy;jyk;j)// 交换当前两行的所有列swap(grid[l][j],grid[r][j]);l;// 上边界下移r--;// 下边界上移}returngrid;}};算法图解示例演示假设输入矩阵grid [ [1, 2, 3, 4], [5, 6, 7, 8], [9,10,11,12], [13,14,15,16] ] 调用 reverseSubmatrix(grid, 0, 0, 3)子矩阵范围左上角(0,0)边长3[1, 2, 3] [5, 6, 7] [9,10,11]执行过程第1步l0, r2交换第0行和第2行[9,10,11] [5, 6, 7] [1, 2, 3]第2步l1, r1循环结束最终结果[9,10,11,4] [5, 6, 7,8] [1, 2, 3,12] [13,14,15,16]复杂度分析时间复杂度O(k²)需要遍历子矩阵中所有元素一次空间复杂度O(1)只使用常数额外空间关键要点子矩阵定位通过(x, y)定位左上角通过k确定边长垂直翻转逻辑只交换行不交换列边界处理r x k - 1确保指针指向有效行索引原地操作直接修改原矩阵无需额外空间注意事项该函数假设子矩阵是正方形k×k函数会直接修改原矩阵如果不想修改原矩阵需要先进行深拷贝参数x, y必须确保子矩阵在grid范围内总结本题通过简单的双指针方法实现了子矩阵的垂直翻转操作代码简洁高效。理解这个算法有助于掌握二维数组的区间操作技巧。

相关文章:

LeetCode 3643.子矩阵垂直翻转算法解析

LeetCode 3643.子矩阵垂直翻转算法解析 题目描述 给定一个二维矩阵 grid 和四个参数 (x, y, k),实现一个函数,将矩阵中以 (x, y) 为左上角、边长为 k 的正方形子矩阵进行上下翻转(垂直镜像翻转)。 算法思路 本题的核心是实现子矩阵…...

Ollama+granite-4.0-h-350m:开源轻量模型在学生编程作业辅导中的应用

Ollamagranite-4.0-h-350m:开源轻量模型在学生编程作业辅导中的应用 1. 为什么需要轻量级编程辅导助手? 作为一名计算机专业的学生,我经常遇到这样的困境:深夜调试代码时遇到问题,找不到人请教;想要理解一…...

基于Ubuntu 24.04与Zabbix 7.0构建云服务器监控体系

1. 环境准备与基础配置 在阿里云ECS上部署Zabbix监控系统前,需要做好充分的环境准备。我建议选择4核8G配置的实例作为Zabbix Server主机,这个配置可以轻松应对中小规模集群的监控需求。实测下来,100G的系统盘空间完全够用,还能保留…...

2024年还用Windows XP?VMware17虚拟化实战:从系统封装到快照管理

2024年企业级Windows XP虚拟化实战:VMware17高级运维指南 在工业控制、金融终端等关键领域,仍有大量关键业务系统依赖Windows XP环境运行。根据行业调研数据显示,全球范围内仍有约3%的企业设备运行这一经典系统,其中银行ATM机和数…...

HY-Motion 1.0参数怎么调?采样步数、动作时长设置全解析

HY-Motion 1.0参数怎么调?采样步数、动作时长设置全解析 [【免费上手链接】HY-Motion 1.0 腾讯混元3D数字人团队开源动作生成模型,十亿参数级文生动作系统,支持一键可视化操作,让文字自然转化为电影级3D律动 镜像地址&#xff1…...

DeepSeek-R1-Distill-Qwen-7B数学推理能力实测:AIME竞赛题解题分析

DeepSeek-R1-Distill-Qwen-7B数学推理能力实测:AIME竞赛题解题分析 1. 引言 如果你关注过最近的大模型进展,应该听说过DeepSeek-R1这个名字。这个系列模型在数学推理能力上表现相当亮眼,特别是那个671B参数的版本,在AIME竞赛题上…...

RevokeMsgPatcher完整指南:让微信/QQ/TIM消息不再消失的终极方案

RevokeMsgPatcher完整指南:让微信/QQ/TIM消息不再消失的终极方案 【免费下载链接】RevokeMsgPatcher :trollface: A hex editor for WeChat/QQ/TIM - PC版微信/QQ/TIM防撤回补丁(我已经看到了,撤回也没用了) 项目地址: https://…...

PSpice AD仿真避坑指南:为什么你的新器件模型导入后无法运行?

PSpice AD仿真避坑指南:为什么你的新器件模型导入后无法运行? 作为一名长期使用PSpice AD进行电路仿真的工程师,我深知导入新器件模型时可能遇到的各种"坑"。本文将结合我的实战经验,系统梳理7个最常见的问题根源及对应…...

SparkFun MicroPressure库解析:MPR微压传感器嵌入式驱动设计

1. SparkFun MicroPressure 库深度解析:Honeywell MPR 系列微压传感器的嵌入式驱动实现1.1 库定位与工程价值SparkFun MicroPressure Library 是一个专为 Honeywell MPR 系列微压传感器(MPR121、MPR031、MPR032 等)设计的轻量级嵌入式 C/C 驱…...

2026程序员破局指南:大模型技能是未来,收藏这份转型路线图

引言 曾几何时,程序员被誉为“21世纪最高薪的职业之一”,是无数人向往的“金饭碗”。然而,步入2026年,这个曾经风光无限的职业似乎正经历一场前所未有的“寒冬”。裁员潮、降薪、AI冲击……种种挑战接踵而至,让许多程…...

避坑指南:SAP供应商付款时F-51的这两种清账方式千万别乱选

SAP供应商付款清账实战避坑:F-51操作中的关键决策逻辑 刚接手SAP财务模块的新人,往往会在供应商付款环节踩坑——尤其是面对F-51事务码中的部分清账与剩余清账选项时。这两个看似简单的功能选择,实际上会直接影响后续对账效率、账龄分析准确性…...

DAMOYOLO-S快速部署:7860端口Web服务访问与HTTPS反向代理配置

DAMOYOLO-S快速部署:7860端口Web服务访问与HTTPS反向代理配置 你是不是也想快速搭建一个属于自己的目标检测服务,但被复杂的模型部署和环境配置劝退?今天,我们就来聊聊如何一键部署DAMOYOLO-S这个高性能的通用检测模型&#xff0…...

Windows10下ENSP云服务配置:解决以太网卡缺失的3种实用方法

Windows 10环境下ENSP云服务配置:全面解决以太网卡缺失问题 在数字化转型浪潮中,网络工程师和IT专业人员经常需要借助仿真工具进行网络拓扑设计和测试。华为ENSP作为业界广泛使用的网络模拟平台,其云服务功能对物理网卡的依赖却让许多使用轻薄…...

VibeVoice实时语音合成系统效果测评:流式播放与长文本支持实测

VibeVoice实时语音合成系统效果测评:流式播放与长文本支持实测 1. 测试环境与准备 1.1 硬件配置 本次测试使用的硬件平台为: GPU:NVIDIA RTX 4090(24GB显存)CPU:AMD Ryzen 9 7950X内存:64GB…...

信号完整性(SIPI)实战解析:高速设计中的串扰抑制策略

1. 串扰的本质与高速设计的挑战 当你把两根电线靠得太近时,总会听到"滋滋"的干扰声——这就是生活中最常见的串扰现象。在高速PCB设计中,这种干扰被放大了无数倍。我最近调试一块DDR5内存板时就深有体会:当数据速率冲到6400Mbps时&…...

学霸同款! 降AIGC网站 千笔·降AIGC助手 VS 知文AI,开源免费首选

在AI技术迅猛发展的今天,越来越多的学生和研究者开始借助AI工具提升论文写作效率。然而,随着学术审查标准的不断升级,AI生成内容的痕迹愈发明显,论文中的AIGC率和重复率问题成为困扰无数人的“隐形炸弹”。面对查重系统日益严格的…...

Python音频处理实战:用wave和numpy生成自定义WAV音效(附完整代码)

Python音频处理实战:用wave和numpy生成自定义WAV音效 1. 音频合成基础与核心概念 音频合成是现代数字音频处理的基础技术之一。想象一下,你正在为一个独立游戏开发音效系统,或者为某个艺术装置设计交互式声音反馈,Python的wave和…...

从汽车NVH到风电监测:阶次跟踪技术的5个跨界应用案例解析

从汽车NVH到风电监测:阶次跟踪技术的5个跨界应用案例解析 阶次跟踪(Order Tracking)技术正悄然改变着工业领域的故障诊断与性能优化方式。这项基于旋转机械转速同步采样的分析方法,已从传统的发动机测试领域,逐步渗透到…...

YOLO标注文件可视化保姆级教程:用Python+OpenCV把txt里的数字变成图像上的框

YOLO标注文件可视化实战指南:从原理到批量处理的完整解决方案 当你第一次拿到YOLO格式的数据集时,面对那些充满数字的txt文件,是否感到无从下手?本文将带你深入理解YOLO标注格式的本质,并手把手教你用Python和OpenCV将…...

vLLM部署千问72B大模型实战:从Docker镜像到API调用的完整避坑指南

vLLM实战:千问72B大模型高效部署与API服务优化指南 在人工智能技术快速迭代的今天,百亿参数级别的大模型已成为企业智能化转型的核心竞争力。如何高效部署这些"庞然大物",使其在实际业务中发挥价值,是每个技术团队面临的…...

MATLAB新手也能搞定!鼠笼式电机矢量控制仿真全流程(附源码)

MATLAB新手也能搞定!鼠笼式电机矢量控制仿真全流程(附源码) 鼠笼式三相交流异步电动机在工业领域应用广泛,而矢量控制技术则是实现其高性能调速的关键。对于电气工程或自动化专业的学生和工程师来说,掌握MATLAB/SIMUL…...

CAN总线信号示波器测试全流程指南

1. CAN总线信号测试的工程实践方法CAN(Controller Area Network)总线自1986年由Bosch公司提出以来,已成为车载电子系统中事实上的通信标准。其差分传输机制、非破坏性仲裁、高抗干扰能力及完善的错误检测机制,使其在汽车动力总成、…...

保姆级教程:用STM32的TIM3测PWM频率和占空比(附完整代码)

STM32实战指南:TIM3精准捕获PWM频率与占空比全解析 在嵌入式开发中,精确测量外部PWM信号的频率和占空比是常见需求。无论是电机控制、传感器数据采集还是通信协议解析,这项技能都至关重要。本文将带您从零开始,使用STM32的TIM3定时…...

xv6 Lab6 COW Fork避坑实录:从引用计数到usertrap,手把手教你搞定MIT操作系统实验

MIT 6.S081 Lab6 COW Fork全攻略:从引用计数陷阱到usertrap实战解析 在操作系统课程中,MIT 6.S081的Lab6堪称一道分水岭——它要求学生在xv6内核中实现Copy-on-Write Fork机制。这个实验不仅考验对虚拟内存系统的理解深度,更需要处理引用计数…...

树莓派3上跑麦克风阵列声源定位?Python+OpenCV实战避坑指南

树莓派3麦克风阵列声源定位实战:PythonOpenCV避坑全攻略 在智能家居、机器人交互和会议系统等领域,声源定位技术正变得越来越重要。树莓派3作为一款性价比极高的微型计算机,搭配麦克风阵列可以实现实时声源定位功能。本文将带你从硬件选型到算…...

AS5047P磁性编码器SPI驱动设计与FOC应用实践

1. AS5047P磁性旋转编码器驱动库深度解析1.1 芯片特性与工程定位AS5047P是ams(现为TDK)推出的高精度单芯片磁性旋转位置传感器,采用基于巨磁阻(GMR)技术的14位绝对式角度测量架构。其核心价值在于:无需光学…...

Ubuntu 20.04下Ceres-Solver 2.1.0安装避坑指南(附常见错误解决方案)

Ubuntu 20.04下Ceres-Solver 2.1.0完整安装与实战指南 在计算机视觉、机器人导航和三维重建等领域,非线性优化问题无处不在。Ceres-Solver作为谷歌开源的C库,凭借其强大的数值优化能力和灵活的接口设计,已成为SLAM(同步定位与地图…...

如何永久保存微信聊天记录:本地化数据备份的终极指南

如何永久保存微信聊天记录:本地化数据备份的终极指南 【免费下载链接】WeChatMsg 提取微信聊天记录,将其导出成HTML、Word、CSV文档永久保存,对聊天记录进行分析生成年度聊天报告 项目地址: https://gitcode.com/GitHub_Trending/we/WeChat…...

告别环境混乱!手把手教你用Anaconda创建独立Python 3.9环境(附PySide6报错终极解法)

告别环境混乱!手把手教你用Anaconda创建独立Python 3.9环境(附PySide6报错终极解法) 在Python开发中,环境管理是每个开发者必须掌握的核心技能。特别是当你需要在不同项目间切换,或者处理依赖关系复杂的库时&#xff0…...

Cosmos-Reason1-7B惊艳效果:自动补全缺失前提条件并提示逻辑完整性风险

Cosmos-Reason1-7B惊艳效果:自动补全缺失前提条件并提示逻辑完整性风险 1. 引言:当AI学会“找茬” 你有没有遇到过这种情况?在思考一个复杂问题时,总觉得哪里不对劲,但又说不出来。或者,在写代码、做数学…...