题解 | #有序序列合并#

有序序列合并

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

#include <stdio.h>
#include <stdlib.h>
int main() {
    int a, b;
    while (scanf("%d %d", &a, &b) != EOF) {
        int* arr1 = (int*)malloc(sizeof(int) * a);
        int* arr2 = (int*)malloc(sizeof(int) * b);
        int* arr3 = (int*)malloc(sizeof(int) * (b + a));
        if (arr1 == NULL || arr2 == NULL || arr3 == NULL) {
            printf("内存分配失败\n");
            return -1;
        }
        int* p1 = arr1;
        int* p2 = arr2;
        int* p3 = arr3;

        for (int i = 0; i < a; i++)
            scanf("%d", (p1++));
        for (int i = 0; i < b; i++)
            scanf("%d", (p2++));

        p1 = arr1; // 重置指针位置
        p2 = arr2; // 重置指针位置

        while (p1 - arr1 < a && p2 - arr2 < b) {
            if (*p1 <= *p2)
                *(p3++) = *(p1++);
            else if (*p1 > *p2)
                *(p3++) = *(p2++);
        }

        while (p1 - arr1 < a)
            *(p3++) = *(p1++);

        while (p2 - arr2 < b)
            *(p3++) = *(p2++);
        p3 = arr3;
        for (int j = 0; j < a + b; j++)
            printf("%d ", *(p3++));
        free(arr1);
        free(arr2);
        free(arr3);
    }
    return 0;
}

全部评论

相关推荐

行云流水1971:这份实习简历的优化建议: 结构清晰化:拆分 “校园经历”“实习经历” 板块(当前内容混杂),按 “实习→校园→技能” 逻辑排版,求职意向明确为具体岗位(如 “市场 / 运营实习生”)。 经历具象化:现有描述偏流程,需补充 “动作 + 数据”,比如校园活动 “负责宣传” 可加 “运营公众号发布 5 篇推文,阅读量超 2000+,带动 300 + 人参与”;实习内容补充 “协助完成 XX 任务,效率提升 X%”。 岗位匹配度:锚定目标岗位能力,比如申请运营岗,突出 “内容编辑、活动执行” 相关动作;申请市场岗,强化 “资源对接、数据统计” 细节。 信息精简:删减冗余表述(如重复的 “负责”),用短句分点,比如 “策划校园招聘会:联系 10 + 企业,组织 200 + 学生参与,到场率达 85%”。 技能落地:将 “Office、PS” 绑定经历,比如 “用 Excel 整理活动数据,输出 3 份分析表;用 PS 设计 2 张活动海报”,避免技能单独罗列。 优化后需强化 “经历 - 能力 - 岗位需求” 的关联,让实习 / 校园经历的价值更直观。 若需要进一步优化服务,私信
实习,投递多份简历没人回...
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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