题解 | #有序序列合并#

有序序列合并

https://www.nowcoder.com/practice/a9e943b0dab142759807d0cfb6863897

#include <stdio.h>
#include <string.h>
int main() {
    int n,m,i,j,k;
    scanf("%d %d",&n,&m);
    int arr1[n],arr2[m],arr[m+n];
    memset(arr1,0,n*sizeof(int));
    memset(arr2,0,m*sizeof(int));
    for(i=0;i<n;i++)
    {
        scanf("%d",&arr1[i]);
    }
    for(i=0;i<m;i++)
    {
        scanf("%d",&arr2[i]);
    }
    i=0;
    j=0;
    k=0;
    while(i<n&&j<m)
    {
        if(arr1[i]<arr2[j])
        {
            arr[k++]=arr1[i++];
        }
        else
        arr[k++]=arr2[j++];
    }
    while(i<n)
    arr[k++]=arr1[i++];
    while(j<m)
    arr[k++]=arr2[j++];
    for(int k=0;k<n+m;k++)
    printf("%d ",arr[k]);
}

典型的二路归并排序。

本题考虑到val值为0~30000,但内存给了32M,所以也可以考虑计数排序。

全部评论

相关推荐

这是什么操作什么意思,这公司我服了...
斯派克spark:意思是有比你更便宜的牛马了
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-09 12:02
ssob上原来真有BOSS啊
硫蛋蛋:这种也是打工的,只不是是给写字楼房东打工
点赞 评论 收藏
分享
程序员小白条:你是沟通了900个,不是投了900份简历,你能投900份,意味着对面都要回复你900次,你早就找到实习了,没亮点就是这样的,别局限地区,时间投的也要早,现在都要7月了
点赞 评论 收藏
分享
能干的三文鱼刷了10...:公司可能有弄嵌入式需要会画pcb的需求,而且pcb能快速直观看出一个人某方面的实力。看看是否有面试资格。问你问题也能ai出来,pcb这东西能作假概率不高
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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