华为机试HJ80:整型数组合并
Posted 翟天保Steven
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了华为机试HJ80:整型数组合并相关的知识,希望对你有一定的参考价值。
作者:翟天保Steven
版权声明:著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处
题目描述:
将两个整型数组按照升序合并,并且过滤掉重复数组元素。
输出时相邻两数之间没有空格。
请注意本题有多组样例。
输入描述:
输入说明,按下列顺序输入:
1 输入第一个数组的个数
2 输入第一个数组的数值
3 输入第二个数组的个数
4 输入第二个数组的数值
输出描述:
输出合并之后的数组
示例:
输入:
3 1 2 5 4 -1 0 3 2
输出:
-101235
解题思路:
本题是个排序去重题。善用容器可以很好解决,用set可以自动排序和去重,用map也可以实现去重,我用的map;输入两个数组的内容,用map记录下来,再直接输出map的key即可。
测试代码:
#include <iostream>
#include <map>
#include <vector>
using namespace std;
int main()
{
int n1,n2,t;
while(cin>>n1)
{
map<int,int> m;
for(int i=0;i<n1;++i)
{
cin>>t;
m[t]++;
}
cin>>n2;
for(int i=0;i<n2;++i)
{
cin>>t;
m[t]++;
}
for(auto it:m)
{
cout<<it.first;
}
cout<<endl;
}
return 0;
}
以上是关于华为机试HJ80:整型数组合并的主要内容,如果未能解决你的问题,请参考以下文章