题解 | #整型数组合并#
整型数组合并
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] ;
}
