首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >合并两个有序数组(leetcode.88)

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

原创
作者头像
euclid
修改于 2020-01-02 04:08:18
修改于 2020-01-02 04:08:18
3230
举报
文章被收录于专栏:Euclid学习日记Euclid学习日记

这道题是归并排序中的一步,只需将两个数组合并即可

代码语言:c++
AI代码解释
复制
class Solution {
public:
    void merge(vector<int>& nums1, int m, vector<int>& nums2, int n) {
        int p1 = m-1;
        int p2 = n-1;
        int p = m + n - 1;
        while(p1 >= 0 && p2 >= 0){
            if(nums1[p1] > nums2[p2]){
                nums1[p] = nums1[p1];
                p1--;
                p--;
            }else{
                nums1[p] = nums2[p2];
                p2--;
                p--;
            }
        }
        while(p2 >= 0){
            nums1[p] = nums2[p2];
            p2--;
            p--;
        }
    }
};

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
LeetCode每日一题:合并两个有序数组
链接: 合并两个有序数组 ---- 这题有个要求:能不能使用O(m+n)的时间复杂度完成? 那当然是有的! 思路:用两个指针分别指向两个数组的尾部!这个很关键! 然后从后向前遍历。又题目可知,nums1的大小肯定是m+n的,且nums1的后半部分是空的,直接覆盖是没影响的。 所以就是将nums2中的元素与nums1中的比较,谁大就先放谁进去。 class Solution { public: void merge(vector<int>& nums1, int m, vector
利刃大大
2023/04/12
1550
LeetCode每日一题:合并两个有序数组
Day11【LeetCode每日一题】88. 合并两个有序数组
给你两个有序整数数组 nums1 和 nums2,请你将 nums2 合并到 nums1 中,使 nums1 成为一个有序数组。
公众号guangcity
2021/04/22
2610
leetcode刷题(32)——88. 合并两个有序数组
给定两个有序整数数组 nums1 和 nums2,将 nums2 合并到 nums1 中,使得 num1 成为一个有序数组。
老马的编程之旅
2022/06/22
1980
【LeetCode12】合并两个有序数组
我发现最近做的题目都可以用双指针算法来解决,这道题也一样,我们定义两个指针p1和p2,分别从数组1指定位置(由m决定)和数组2的尾端开始往前遍历。
Sam Gor
2019/07/08
7030
【LeetCode12】合并两个有序数组
【小Y学算法】⚡️每日LeetCode打卡⚡️——24.合并两个有序数组
给你两个按 非递减顺序 排列的整数数组 nums1 和 nums2,另有两个整数 m 和n ,分别表示 nums1 和 nums2 中的元素数目。
呆呆敲代码的小Y
2021/09/08
3190
【小Y学算法】⚡️每日LeetCode打卡⚡️——24.合并两个有序数组
算法题 合并两个有序数组
 我们为两个数组分别设置一个指针 p1与 p2来作为队列的头部指针,p1作为nums1的指针,p2作为nums1的指针,从两数组坐标0,开始比大小,谁小谁的数组坐标下的数,用cur记录后,放入sorted数组,这个数组的指针++,如次以此比较,直到两个数组比较完成。
人不走空
2024/02/20
1590
【LeetCode】88. 合并两个有序数组 双指针
给定两个有序整数数组 nums1 和 nums2,将 nums2 合并到 nums1 中,使得 num1 成为一个有序数组。
韩旭051
2020/06/23
2840
LeetCode-88. 合并两个有序数组(java)
进阶:你可以设计实现一个时间复杂度为 ​​O(m + n)​​ 的算法解决此问题吗?
bug菌
2023/05/27
4230
LeetCode-88. 合并两个有序数组(java)
[Leetcode][python]Merge Sorted Array/合并两个有序数组
将两个有序数组合并成为一个。 注意点: 第一个数组有充足的空间来存放第二个数组中的元素 第一个数组的有效长度为m,第二个的有效长度为n 在原数组上修改,没有返回值
蛮三刀酱
2019/03/26
9260
leetcode-88. 合并两个有序数组
image.png image.png JAVA解法 class Solution { public void merge(int[] nums1, int m, int[] nums2, int n) { int i = m,j = 0; // 合并两个数组 while(i < m + n){ nums1[i++] = nums2[j++]; } // 对合并后数组进行排序 A
灰太狼学Java
2022/06/17
1580
leetcode-88. 合并两个有序数组
LeetCode 88. 合并两个有序数组
给定两个有序整数数组 nums1 和 nums2,将 nums2 合并到 nums1 中,使得 num1 成为一个有序数组。
Michael阿明
2022/11/26
2970
LeetCode 88. 合并两个有序数组
求两个有序数组合并后的中位数,最透讲解| 腾讯面试编程50题(三)
本文是腾讯50道常考编程题之一:求解两个有序数组合并后的中位数,属于 "Hard" 难度,在校招中难倒一大波校招生。本文提供一种基本解法:基于归并排序。并对归并排序可能不是很了解的同学,提供了图解归并排序的讲解。
double
2019/09/18
9130
求两个有序数组合并后的中位数,最透讲解| 腾讯面试编程50题(三)
每天一道leetcode88-合并两个有序数组
题目 每天一道leetcode88-合并两个有序数组 分类:链表 中文链接: https://leetcode-cn.com/problems/merge-sorted-array/ 英文链接 https://leetcode.com/problems/merge-sorted-array/ 题目详述 给定两个有序整数数组 nums1 和 nums2,将 nums2 合并到 nums1 中,使得 num1 成为一个有序数组。 说明: 初始化 nums1 和 nums2 的元素数量分别为 m 和 n。
乔戈里
2019/09/17
3980
☆打卡算法☆LeetCode 88、合并两个有序数组 算法解析
“给定两个递增数组和两个代表数组长度的整数,合并两个数组,返回合并后递增顺序的数组。”
恬静的小魔龙
2022/08/07
2580
☆打卡算法☆LeetCode 88、合并两个有序数组  算法解析
【leetcode系列】88.合并两个有序数组
这道题目其实和基本排序算法中的 merge sort非常像,但是 merge sort 很多时候,合并的时候我们通常是 新建一个数组,这样就很简单。但是这道题目要求的是 原地修改.
lucifer210
2019/08/16
3870
C++刷题(一):顺序表 + 单链表
这道题的关键在于,如何讲nums2的数组元素插入nums1,因为nums1的长度为m+n,也就代表后面有空位,所以可以选择从后往前插入。
用户11029137
2025/03/15
980
C++刷题(一):顺序表 + 单链表
与双指针的亲密接触:快与慢的浪漫交错
给你两个按 非递减顺序 排列的整数数组 nums1 和 nums2,另有两个整数 m 和 n,分别表示 nums1 和 nums2 中的元素数目。
Undoom
2024/10/17
1200
与双指针的亲密接触:快与慢的浪漫交错
螺旋矩阵II与合并两个有序数组
昨天周五,没能按时发leetcode,说声抱歉,今天补上,每周的两次刷算法,必不可少,今日刷题两篇,分别是螺旋矩阵II与合并两个有序数组!
公众号guangcity
2019/09/20
3920
螺旋矩阵II与合并两个有序数组
88. 合并两个有序数组
题目: 给你两个按 非递减顺序 排列的整数数组 nums1 和 nums2,另有两个整数 m 和 n ,分别表示 nums1 和 nums2 中的元素数目。 请你 合并 nums2 到 nums1 中,使合并后的数组同样按 非递减顺序 排列。
杨鹏伟
2022/06/09
6970
leetcode 88. 合并两个有序数组 js实现
给你两个按 非递减顺序 排列的整数数组 nums1 和 nums2,另有两个整数 m 和 n ,分别表示 nums1 和 nums2 中的元素数目。
蓓蕾心晴
2022/11/28
1.1K0
推荐阅读
相关推荐
LeetCode每日一题:合并两个有序数组
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档