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

leetcode 88.合并两个有序数组

题目:

给你两个按非递减顺序排列的整数数组nums1nums2,另有两个整数mn,分别表示nums1nums2中的元素数目。

请你合并nums2nums1中,使合并后的数组同样按非递减顺序排列。

注意:最终,合并后数组不应由函数返回,而是存储在数组nums1中。为了应对这种情况,nums1的初始长度为m + n,其中前m个元素表示应合并的元素,后n个元素为0,应忽略。nums2的长度为n

示例 1:

输入:nums1 = [1,2,3,0,0,0], m = 3, nums2 = [2,5,6], n = 3输出:[1,2,2,3,5,6]解释:需要合并 [1,2,3] 和 [2,5,6] 。 合并结果是 [1,2,2,3,5,6] ,其中斜体加粗标注的为 nums1 中的元素。

解题思路:

定义三个指针:

len1,len2分别为指向两个数组中最后一个真数据的指针,len指向nums1的最后一个空位

两个数组的真数据从后往前比大小,较大的放在nums1的尾部,len指针左移,较大的那个指针也左移,直至比较完成(len1或者len2指针指向某一数组中的-1)

记得要将nums2的剩余数组元素拷贝到nums1最前面,因为循环结束,nums2中的元素不一定全部转移到nums1中。要用nums2的数据盖过nums1原来前面的旧数据,所以拷贝到前面去。

代码:

class Solution { public void merge(int[] nums1, int m, int[] nums2, int n) { int len1 = m-1; int len2 = n-1; int len = m+n-1; while(len1 >=0 && len2 >= 0){ nums1[len--] = nums1[len1] > nums2[len2]?nums1[len1--]:nums2[len2--]; } System.arraycopy(nums2,0,nums1,0,len2+1); } }
http://www.jsqmd.com/news/674963/

相关文章:

  • 2026年知名的扬州一站式装修公司/扬州半包装修公司/扬州大平层装修公司/扬州装修公司TOP5推荐 - 行业平台推荐
  • Z-Image权重测试台部署教程:WSL2环境下NVIDIA Container Toolkit配置
  • 别再手动分配管脚了!Quartus Prime 23.1 中一键解决管脚冲突与三态设置的保姆级教程
  • Qwen3-Reranker参数详解:max_length、batch_size与显存占用关系
  • 软件进度控制中的关键路径跟踪
  • 从float64到float16:一次NumPy数组内存优化的完整实战记录(附性能对比)
  • VBA-JSON终极指南:让Office应用轻松处理JSON数据的完整解决方案
  • Linux内核SCSI错误处理实战:当你的硬盘IO卡住或报错时,内核到底做了什么?
  • 「EEG脑电信号处理——(22)脑机接口常用生理信号频率与幅值特性分析」2026年04月20日
  • 智能梯控系统的各项配置相互协作,共同实现了电梯的智能管理和安全控制。通过合理的配置和应用,可以满足不同场景下的电梯使用需求,提高电梯的运行效率和安全性,为用户提供更加便捷、舒适的乘梯体验。
  • 2026年知名的0D超透丝袜/防晒凉感丝袜生产厂家推荐 - 品牌宣传支持者
  • GBase 8a之聚合函数: 计算峰度功能的实现
  • 2026年热门的无锡企业消杀/无锡消杀除马蜂/无锡消杀服务售后无忧公司 - 品牌宣传支持者
  • CogVideoX-2b故障恢复:任务中断后断点续生的可行性研究
  • 智能风控化技术异常检测算法与风险评估模型
  • 保姆级教程:人脸分析系统API调用全解析,小白也能玩转自动化
  • Qwen3.5-9B-GGUF部署案例:制造业设备说明书智能问答系统
  • 基于PyQt5与Docker的单片机智能远程控制与状态监测上位机系统设计与实现
  • 如何在 Vite + React 项目中禁用自动热更新(HMR)
  • Python中如何进行NumPy多项式拟合_使用polyfit实现回归
  • 2026年口碑好的无锡HACCP虫控服务/无锡酒店消杀/无锡消杀服务高评分公司推荐 - 行业平台推荐
  • 5分钟快速上手:QMCDecode音频格式转换完整指南
  • 推荐系统实时性
  • 2026年口碑好的电动四轮消防车/四轮消防车/小型消防车优质厂家汇总推荐 - 品牌宣传支持者
  • 【限时解密】Loom响应式项目CI/CD流水线重构方案(GitHub Actions + JUnit 5.12+ Loom-aware Profiling插件)
  • myBuilder主要新功能介绍(4月版本v2.x.26)
  • 轻量的C++命令行交互器2.0
  • LiuJuan Z-Image Generator真实生成:无PS后期直出的商业级人像可用性验证
  • Git大文件清理终极方案|一键解决远端推送超限问题(附全自动脚本)
  • 数据库模型设计实战:如何正向工程从模型建表_规范化项目开发流程