题目

给你两个有序整数数组 nums1nums2,请你将nums2合并到 nums1使nums1成为一个有序数组。

说明:

  • 初始化 nums1 和 nums2 的元素数量分别为 m 和 n 。
  • 你可以假设 nums1 有足够的空间(空间大小大于或等于 m + n)来保存 nums2 中的元素
输入:
nums1 = [1,2,3,0,0,0], m = 3
nums2 = [2,5,6],       n = 3输出: [1,2,2,3,5,6]

解法

合并后排序

/*** @desc 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) {let i = 0while(i < n) {nums1[m+i] = nums2[i]i++}while(nums1.length > (m+n)) {nums1.pop()}nums1.sort((x,y) => x - y )
};

双指针

/*** @desc 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数据const copy_nums1 = nums1.slice(0, m)// 清空nums1nums1.splice(0)// 定义2个指针代表copy_nums1、nums2let p1 = 0let p2 = 0// 排序推入数据while(p1 < m && p2 < n) {copy_nums1[p1] < nums2[p2] ? nums1.push(copy_nums1[p1++]) : nums1.push(nums2[p2++])}// 如果还有未匹配的数据,直接插入【由于本身是有序的】if (p1 < m) {nums1.push(...copy_nums1.slice(p1))}if (p2 < n) {nums1.push(...nums2.slice(p2))}
};

arrays合并两个数组_每天一道力扣题: 88. 合并两个有序数组相关推荐

  1. LeetCode 题 - 88. 合并两个有序数组

    题目 给定两个有序整数数组 nums1 和 nums2,将 nums2 合并到 nums1 中,使得 num1 成为一个有序数组. 说明: 初始化 nums1 和 nums2 的元素数量分别为 m 和 ...

  2. 力扣题目——88. 合并两个有序数组

    注:本文的实现思路主要是基于JS(JavaScript),涉及到的一些函数都是JS中的自带函数 题目描述 给你两个按 非递减顺序 排列的整数数组 nums1 和 nums2,另有两个整数 m 和 n ...

  3. 学渣的刷题之旅 leetcode刷题 88. 合并两个有序数组

    给你两个有序整数数组 nums1 和 nums2,请你将 nums2 合并到 nums1 中,使 num1 成为一个有序数组. 说明: 初始化 nums1 和 nums2 的元素数量分别为 m 和 n ...

  4. access 合并多行字符串_八种方法玩转字符串合并,这篇文章全都给你讲明白!...

    在日常工作过程中,经常会遇到要把一串字符拼接到一起的情况. 你是不是还一直在用"&"连接符来合并字符串呢?当遇到很多个字符串需要合并的时候,这种方法又费时又费力,那有没有其 ...

  5. python 树状数组_【算法日积月累】19-高级数据结构:树状数组

    树状数组能解决的问题 树状数组,也称作"二叉索引树"(Binary Indexed Tree)或 Fenwick 树. 它可以高效地实现如下两个操作: 1.数组前缀和的查询: 2. ...

  6. numpy 数组 ::_看起来不错,没有麻烦:使用NumPy进行数组编程

    numpy 数组 :: It is sometimes said that Python, compared to low-level languages such as C++, improves ...

  7. 保存数组_面试官:讲一讲你对据结构——数组、链表、栈、队列的理解

    一.解释定义 1. 数据结构: 数据结构是指相互之间存在一种或多种特定关系的数据元素的集合.再简单描述一下:数据结构就是描述对象间逻辑关系的学科. 如果还是不太清楚下面会举例说明的. 2. 数据存储结 ...

  8. .net 遍历数组找重复值写入一个新数组_第二轮 Python 刷题笔记一:数组

    经过四十多天缓慢的刷题,现在进度大概是刷了八十多道 LeetCode 题,最近也在吸取过来人的经验,仍然需要对刷题计划进行调整. 首先明确一下目标,我是有些 Python 基础,想通过刷题掌握更多算法 ...

  9. python 构件二维数组_通过这四个构件块来升级您的javascript数组

    python 构件二维数组 Arrays in JavaScript are something special, as they leverage the prototype feature of ...

最新文章

  1. freebsd php mysql_FreeBSD下Mysql5+Apache2+PHP5的安装
  2. Oracle优化12-10053事件
  3. String,StringBuffer,StringBuilder的区别
  4. Kafka参数broker.id详解
  5. Python学习---面向对象的学习[深入]
  6. Python将类对象转换为json
  7. moreclipboard能记录多个粘贴内容的eclipse粘贴板插件
  8. EclipseIDEA使用经验
  9. skynet源码分析5:lua绑定之地基
  10. 在腾讯云服务器上实现java web项目部署
  11. 选择要素选择集中的某个图层的要素
  12. 计算机应用及发展,计算机应用及发展趋势.docx
  13. 感量越大抑制频率约低_EDA365:开关电源 LC 滤波器设计
  14. java set方法无法使用_Java setBounds无法与JPanel一起使用
  15. {大学快毕业的程序员,现在开始写博客}
  16. 游戏运营杂谈之------达克效应的启示
  17. 产业分析:智能巡检机器人行业
  18. windows 配置永久路由
  19. Excel数据透视表:切片器
  20. OSI(open system internet)七层模型介绍以及NAT(Network Address Translation)技术详解

热门文章

  1. php显示html表单内容,HTML表单是什么?HTML表单内容的详细介绍(附代码)
  2. 机器人出魔切还是三相_工业机器人常见故障和修理方法
  3. python的数据库_python数据库操作-mysql数据库
  4. java filter教程_Java Web Filter 过滤器学习教程(推荐)
  5. vue数组修改不触发视图更新、vue向响应式对象添加或删除属性
  6. 【redis】java操作redis时,StringRedisTemplate的expire()方法的作用,什么时候使用
  7. Mysql 5.7 的‘虚拟列’是做什么?
  8. 15 - java 继承
  9. android监听应用服务,Android应用中Back键的监听及处理实例
  10. Kotlin静态方法定义和调用