题目:

注意:
1.保证nums1数组有足够的空间存放nums2数组的元素,nums1的数组空间大小为m+n
2.不要返回合并的数组,将数组nums2的数据合并到nums1里面就好了
3.nums1数组在[0,m-1]的范围也是有序的

方法1:直接合并后排序

var merge=function(nums1,m,nums2,n){
nums1.splice(m, nums1.length – m, ...nums2);
nums1.sort((a,b) => a - b);
};

方法2思路:

标签:从后向前数组遍历

因为nums1的空间都集中在后面,所以从后向前处理排序的数据会更好,节省空间,一边遍历一边将值填充进去

设置指针len1和len2分别指向nums1和nums2的有数字尾部,从尾部值开始比较遍历,同时设置指针len指向nums1的最末尾,每次遍历比较值大小之后,则进行填充

len1<0时遍历结束,此时nums2中若有剩余数据未拷贝完全,将其直接拷贝到nums1的前面,最后得到结果数组

var merge=function(nums1,m,nums2,n){
let len = m + n - 1;
let len1 = m - 1;
let len2 = n - 1;
while(len1>=0 && len2>=0)
nums1[len--] = nums1[len1] >= nums2[len2] ? nums1[len1--] : nums2[len2--];
while(len2>=0)
nums1[len--]=nums2[len2--];

原题来自力扣

如果有错,请您指出!如有侵权,请联系我删除!

js-合并两个有序数组相关推荐

  1. 88. 合并两个有序数组 JavaScript实现

    88. 合并两个有序数组 1.直接合并后排序 将nms2放到nums1的后面,然后进行排序 var merge = function(nums1, m, nums2, n) {// 将splice将n ...

  2. 数组-合并两个有序数组(双指针,从后往前)

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

  3. LeetCode-双指针-88. 合并两个有序数组

    88. 合并两个有序数组 思路:归并排序,一长一短,肯定会有一个先放完,放完后把另一个拷贝过去即可. 为了避免覆盖所以从最后开始向前放最大的元素 class Solution {public:void ...

  4. LeetCode 88合并两个有序数组89格雷编码

    微信搜一搜:bigsai 专注于Java.数据结构与算法,一起进大厂不迷路! 算法文章题解全部收录在github仓库bigsai-algorithm,求star! 关注回复进群即可加入力扣打卡群,欢迎 ...

  5. 合并两个无序数组java_88. 合并两个有序数组

    88. 合并两个有序数组 给你两个有序整数数组 nums1 和 nums2,请你将 nums2 合并到 nums1 中,使 nums1 成为一个有序数组. 说明: 初始化 nums1 和 nums2的 ...

  6. 合并两个有序数组(双/三指针)

    今天写作业,合并两个有序数组a和b,时间复杂度要求O(n),空间复杂度要求O(1). 很快想到创建第三个数组c,用双指针初始化指向a和b的头元素,每次选择较大者在c上尾插进去之后,再后移相对应a或者b ...

  7. 双指针:88. 合并两个有序数组

    题目链接 88. 合并两个有序数组 解题思路 一. 合并数组后排序,时间复杂度为O((n+m)log(n+m)) 代码: 快排详解 class Solution {public void merge( ...

  8. LeetCode 88. 合并两个有序数组 golang

    88. 合并两个有序数组 给你两个有序整数数组 nums1 和 nums2,请你将 nums2 合并到 nums1 中,使 nums1 成为一个有序数组. 说明: 初始化 nums1 和 nums2 ...

  9. 88. 合并两个有序数组 golang

    88. 合并两个有序数组 给你两个有序整数数组 nums1 和 nums2,请你将 nums2 合并到 nums1 中,使 nums1 成为一个有序数组. 说明: 初始化 nums1 和 nums2 ...

  10. 中数组的合并_【美团面试题】合并两个有序数组

    [美团面试题]合并两个有序数组 题目描述 给你两个有序整数数组 nums1 和 nums2,请你将 nums2 合并到 nums1 中,使 nums1 成为一个有序数组 划重点 初始化 nums1 和 ...

最新文章

  1. 【廖雪峰python入门笔记】tuple_创建
  2. linux shell中清理僵尸进程
  3. TCP连接过程:三次握手与四次握手—Vecloud微云
  4. django 创建APP 后找不到 templates文件夹下的Html文件
  5. Html5 dragdrop
  6. Spring Cloud微服务实战:外卖订餐系统
  7. 处理WinForm多线程程序时的陷阱(摘自网络)
  8. shell脚本,结合expect给当前网段所有主机分发任意文件
  9. 微课|《Python编程基础与案例集锦(中学版)》第3章(1)
  10. angularjs基础知识1
  11. HashMap的底层结构和实现原理
  12. Web前端程序员简历
  13. 知网查重报告html乱码,知网查重报告乱码如何解决?
  14. 广州坐标系转换大地2000_如何将百度坐标转换为国家2000坐标系?
  15. automation服务器不能创建对象问题解决
  16. outlook邮件撤回失败
  17. 深度信念网络python_深度信念网络python
  18. 通达信l-2服务器文件,分享两个手机版通达信的指标源码(PC端也适用)
  19. 在同一个浏览器上打开同一个网址只打开一个窗口的方法
  20. 基于python的jieba分词

热门文章

  1. 华为交换机查看当前配置
  2. 南方cass快捷键命令修改在哪_南方测绘cass快捷键命令大全,南方测绘cass常用的快捷键命令有哪些?...
  3. 免费好用的英语词频统计软件(下载地址在文末)
  4. 搭建Linux虚拟机并编写简单程序
  5. 更换光猫的原理与方法
  6. ftp断点下载工具,推荐6款好用的ftp断点下载工具,怎么使用
  7. 大华相机SDK调用——主动采图、外触发、参数
  8. 接口性能测试方案分析
  9. 企业版php自动发卡平台,企业版PHP自动发卡平台源码V6.3版
  10. rs232接口_串口、COM口、UART口,TTL、RS-232、RS-485这么多接口,怎么区分