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

88. 合并两个有序数组(javascript)

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

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

注意:最终,合并后数组不应由函数返回,而是存储在数组 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 中的元素。

示例 2:

输入:nums1 = [1], m = 1, nums2 = [], n = 0
输出:[1]
解释:需要合并 [1][] 。
合并结果是 [1]

示例 3:

输入:nums1 = [0], m = 0, nums2 = [1], n = 1
输出:[1]
解释:需要合并的数组是 [][1] 。
合并结果是 [1] 。
注意,因为 m = 0 ,所以 nums1 中没有元素。nums1 中仅存的 0 仅仅是为了确保合并结果可以顺利存放到 nums1 中。
/*** @param {number[]} nums1* @param {number} m* @param {number[]} nums2* @param {number} n* @return {void} Do not return anything, modify nums1 in-place instead.*/
var merge = function (nums1, m, nums2, n) {nums1.splice(m, n, ...nums2)nums1.sort((a, b) => a - b)
};
/*** @param {number[]} nums1* @param {number} m* @param {number[]} nums2* @param {number} n* @return {void} Do not return anything, modify nums1 in-place instead.*///nums1最后的长度是m+n ,所以只需要将nums1中【m, n】替换成nums2的值//最后进行排序
var merge = function (nums1, m, nums2, n) {nums1.splice(m, n, ...nums2)nums1.sort((a, b) => a - b)
};

leetcode:
https://leetcode.cn/problems/merge-sorted-array/description/?envType=study-plan-v2&envId=top-interview-150

相关文章:

  • python统计分析——单样本均值检验
  • Linux根据时间删除文件或目录
  • nginx 设置跨域
  • C# 多线程编程:线程锁与无锁并发
  • Qt常用容器之:QVector
  • 【vue核心技术实战精讲】1.9 Vue指令之v-model双向数据绑定
  • 华为云使用指南02
  • vue 列表渲染
  • k8s 如何获取加入节点命名
  • 浅谈iOS开发中的自动引用计数ARC
  • 使用llamafile 构建本地大模型运用
  • spring boot的返回值里面含有net.sf.json.JSONObject 报错net.sf.json.JSONNull[“empty“])]
  • <深度学习入门学习笔记P1>——《深度学习》
  • 后端返回文件流pdf 下载
  • 【AIGC调研系列】Starling-LM-7B模型与其他模型相比的优势和劣势
  • JavaScript-如何实现克隆(clone)函数
  • 【干货分享】SpringCloud微服务架构分布式组件如何共享session对象
  • express.js的介绍及使用
  • FastReport在线报表设计器工作原理
  • Github访问慢解决办法
  • HTTP请求重发
  • interface和setter,getter
  • JAVA并发编程--1.基础概念
  • Linux后台研发超实用命令总结
  • PHP变量
  • thinkphp5.1 easywechat4 微信第三方开放平台
  • Vue官网教程学习过程中值得记录的一些事情
  • 闭包--闭包作用之保存(一)
  • 漫谈开发设计中的一些“原则”及“设计哲学”
  • 嵌入式文件系统
  • 实习面试笔记
  • 智能情侣枕Pillow Talk,倾听彼此的心跳
  • ​LeetCode解法汇总2670. 找出不同元素数目差数组
  • ​批处理文件中的errorlevel用法
  • # 学号 2017-2018-20172309 《程序设计与数据结构》实验三报告
  • #Linux(帮助手册)
  • (4)logging(日志模块)
  • (cos^2 X)的定积分,求积分 ∫sin^2(x) dx
  • (Matalb时序预测)PSO-BP粒子群算法优化BP神经网络的多维时序回归预测
  • (附源码)springboot美食分享系统 毕业设计 612231
  • (一)Neo4j下载安装以及初次使用
  • (原創) 如何刪除Windows Live Writer留在本機的文章? (Web) (Windows Live Writer)
  • (转)C#开发微信门户及应用(1)--开始使用微信接口
  • (转载)虚幻引擎3--【UnrealScript教程】章节一:20.location和rotation
  • .NET CF命令行调试器MDbg入门(二) 设备模拟器
  • .NET DataGridView数据绑定说明
  • .NET6实现破解Modbus poll点表配置文件
  • .Net8 Blazor 尝鲜
  • .net操作Excel出错解决
  • /3GB和/USERVA开关
  • /dev/sda2 is mounted; will not make a filesystem here!
  • @Autowired注解的实现原理
  • @font-face 用字体画图标
  • @GetMapping和@RequestMapping的区别
  • @kafkalistener消费不到消息_消息队列对战之RabbitMq 大战 kafka