leetcode每日一题 2021/4/5 88. 合并两个有序数组

简介: leetcode每日一题 2021/4/5 88. 合并两个有序数组

题目

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

初始化 nums1 和 nums2 的元素数量分别为 m 和 n 。你可以假设 nums1 的空间大小等于 m + n,这样它就有足够的空间保存来自 nums2 的元素。

示例 1:

输入:nums1 = [1,2,3,0,0,0], m = 3, nums2 = [2,5,6], n = 3

输出:[1,2,2,3,5,6]

示例 2:

输入:nums1 = [1], m = 1, nums2 = [], n = 0

输出:[1]

提示:

nums1.length == m + n

nums2.length == n

0 <= m, n <= 200

1 <= m + n <= 200

-109 <= nums1[i], nums2[i] <= 109

来源:力扣(LeetCode

链接:https://leetcode-cn.com/problems/merge-sorted-array

著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

思路

今天的题目不难,最简单的做法就是直接将两个字符串有效长度部分拼接起来然后排序就可以了。或者是用插入排序的方法将字符串2有序插入到字符串1中去。

代码

javascript

(1)

var merge = function(nums1, m, nums2, n) {
    for(let i = 0; i < n; i++){
        nums1[m + i] = nums2[i];
    }
    nums1 = nums1.sort((a,b) => {
        return a - b;
    })
};

(2)

var merge = function(nums1, m, nums2, n) {
    for(let i = 0; i < n; i++) nums1.pop();
    for(let i = 0; i < nums1.length;i++){
        if(nums1[i] > nums2[0]){
            nums1.splice(i,0,nums2.shift());
        }
    }
    for(let i = 0; i < nums2.length; i++){
        nums1.push(nums2[i]);
    }
};
目录
相关文章
|
2天前
|
算法 测试技术 程序员
力扣经典150题第二十七题:两数之和 II - 输入有序数组
力扣经典150题第二十七题:两数之和 II - 输入有序数组
6 1
|
20天前
|
存储 传感器 算法
LeetCode题目89:格雷码 递归、迭代及位操作在数组合并中的应用
LeetCode题目89:格雷码 递归、迭代及位操作在数组合并中的应用
|
2天前
|
存储 算法 测试技术
力扣经典150题第四十八题:合并区间
力扣经典150题第四十八题:合并区间
4 0
|
25天前
|
存储 算法 Java
【经典算法】LeetCode 26. 删除有序数组中的重复项:(Java/C/Python3实现含注释说明,Easy)
【经典算法】LeetCode 26. 删除有序数组中的重复项:(Java/C/Python3实现含注释说明,Easy)
12 2
|
25天前
|
算法 安全 Java
【经典算法】LeetCode 21:合并两个有序链表Java/C/Python3实现含注释说明,Easy)
【经典算法】LeetCode 21:合并两个有序链表Java/C/Python3实现含注释说明,Easy)
16 1
|
11天前
leetcode题解:1768.交替合并字符串
leetcode题解:1768.交替合并字符串
19 0
|
11天前
|
存储 算法
leetcode题解:88.合并有序数组
leetcode题解:88.合并有序数组
11 0
|
11天前
|
索引
leetcode题解:26.删除有序数组重复项
leetcode题解:26.删除有序数组重复项
7 0
|
20天前
|
存储 算法 数据挖掘
LeetCode 题目 88:双指针\直接\递归\插入排序\归并排序 实现合并两个有序数组
LeetCode 题目 88:双指针\直接\递归\插入排序\归并排序 实现合并两个有序数组
|
21天前
|
存储 算法 数据挖掘
Leetcode二十三题:合并K个升序链表【22/1000 python】
Leetcode二十三题:合并K个升序链表【22/1000 python】