题解 | #有序序列合并#

有序序列合并

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

#include <stdio.h>

int main() {
    int n = 0;
    int m = 0;
    scanf("%d%d", &n, &m);
    int L1[n];
    int L2[m];
    int finly[n+m];
    for (int i = 0; i < n && scanf("%d", &L1[i]); i++);
    for (int i = 0; i < m && scanf("%d", &L2[i]); i++);

    int j = 0;
    int k = 0;
    for (int i = 0; i < n + m; i++)
    {
        if (L1[j] < L2[k])
        {
            finly[i] = L1[j++];
        }
        else
        {
            finly[i] = L2[k++];
        }
        if (k == m || j == n)
        {
            if (k == m)
            {
                for (; j < n; j++)
                {
                    finly[++i] = L1[j];
                }
            }
            else 
            {
                for (; k < m; k++)
                {
                    finly[++i] = L2[k];
                }
            }
        }
         
    }

    for (int i = 0; i < n+m; i++)
    {
        printf("%d ", finly[i]);
    }
    return 0;
}

全部评论

相关推荐

今年读完研的我无房无车无对象,月入还没有过万&nbsp;看到他在朋友圈晒房产证,感叹自己白读了这么多年书
梦想是成为七海千秋:那咋了,双9毕业的现在还没存款呢(因为没念完),高中毕业的去直播带货月入几百万也是完全有可能的,退一万步讲,有些人刚出生父母就给买车买房了,上哪说理去,哪怕是同一个起点也会有截然不同的走向,过好自己的生活就完事了。
点赞 评论 收藏
分享
05-09 13:22
门头沟学院 Java
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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