题解 | #整型数组合并#__huawei_no.80-1
整型数组合并
https://www.nowcoder.com/practice/c4f11ea2c886429faf91decfaf6a310b
#include <iostream>
#include <vector>
#include <unordered_map>
#include <algorithm> // 用于sort函数
using namespace std;
int main() {
int n1;
cin >> n1;
vector<int> array_1;
int a;
for (int i = 0; i < n1; ++i) {
cin >> a;
array_1.push_back(a);
}
int n2;
cin >> n2;
vector<int> array_2;
int b;
for (int i = 0; i < n2; ++i) {
cin >> b;
array_2.push_back(b);
}
// 合并两个数组
array_1.insert(array_1.end(), array_2.begin(), array_2.end());
// 使用哈希表统计每个元素出现的次数
unordered_map<int, int> map1;
for (int num : array_1) {
map1[num]++;
}
// 将哈希表的内容转移到vector中,以便排序
vector<pair<int, int>> sorted_counts(map1.begin(), map1.end());
// 按照元素值排序
sort(sorted_counts.begin(), sorted_counts.end());
// 输出每个元素及其出现的次数
for (const auto &pair : sorted_counts) {
cout << pair.first ;
}
return 0;
}
查看30道真题和解析