【牛客题霸每日一题】NC22 合并两个有序数组 C++ 题解

归并排序就是用的这样的思路,每次比较两个数组的第一个元素,并将较小的一个存入新数组,从原数组删除,然后继续比较两个数组的第一个元素,以此类推。
代码如下:
class Solution {
public:
    void merge(int A[], int m, int B[], int n) {
        vector<int> c;
        int i = 0, j = 0;
        while(i < m && j < n) {
            if(A[i] < B[j]) {
                c.push_back(A[i]);
                i++;
            } else {
                c.push_back(B[j]);
                j++;
            } 
        }
        while(i < m) {
            c.push_back(A[i]);
            i++;
        }
        while(j < n) {
            c.push_back(B[j]);
            j++;
        }
        for(int i = 0; i < n + m; i++) {
            A[i] = c[i];
        }
    }
};


#题解##牛客题霸#
全部评论

相关推荐

鼠鼠第一次实习,啥也不懂一直是自己一个人吃的饭,不会做工作老是被嫌弃,大人的世界是这样的吗?
我是星星我会发亮:好的mt有两种,一种愿意教你的,一种几乎什么活都不给你派让你很闲允许你做自己事情的
点赞 评论 收藏
分享
仁者伍敌:牛子这些人还会点一个自动回复,boss都不带回复的
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
昨天 20:15
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务