题解 | #整型数组合并#

整型数组合并

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

#include <iostream>
using namespace std;
int main() {
    int a, b;
    cin >> a;
    int c[a];
    for (int i = 0; i < a; i++)
        cin >> c[i];
    for (int i = a; i > 0; i--)
        for (int j = 1; j < a; j++)
            if (c[j - 1] > c[j]) {
                int k = c[j];
                c[j] = c[j - 1];
                c[j - 1] = k;
            }
    for (int k = 0; k < a; k++)
        for (int i = a - 1; i > 0; i--)
            if (c[i - 1] == c[i]) {
                for (int j = i; j < a; j++)
                    c[j - 1] = c[j];
                a--;
            }
    cin >> b;
    int d[b];
    for (int i = 0; i < b; i++)
        cin >> d[i];
    for (int i = b; i > 0; i--)
        for (int j = 1; j < b; j++)
            if (d[j - 1] > d[j]) {
                int k = d[j];
                d[j] = d[j - 1];
                d[j - 1] = k;
            }
    for (int i = b - 1; i > 0; i--)
        if (d[i - 1] == d[i]) {
            for (int j = i; j < b; j++)
                d[j - 1] = d[j];
            b--;
        }
    int e[a + b], f = 0;
    for (int i = 0, j = 0; i < a || j < b; f++) {
        if (j < b && ((i >= a) || (c[i] > d[j]))) {
            e[f] = d[j];
            j++;
            continue;
        }
        if ((i < a) && (j >= b || (c[i] < d[j]))) {
            e[f] = c[i];
            i++;
            continue;
        }
        if (c[i] == d[j]) {
            e[f] = c[i];
            i++;
            j++;
            continue;
        }
    }
    for (int k = 0; k < f; k++ )
        cout << e[k] ;
}

全部评论

相关推荐

2025-12-17 12:08
门头沟学院 产品经理
牛客85811352...:1希音不知道算不算大厂 2完全符合,过得很舒服, 3确实只有杂活 领导找我续签到明年3、4月我要继续吗。主要是边实习边秋招这段时间还是有点累
什么是优秀的实习经历
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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