华为机试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:整型数组合并的主要内容,如果未能解决你的问题,请参考以下文章

华为机试题 HJ80 整型数组合并

华为机试HJ101:对数组元素按照升序或降序进行排序

华为机试HJ101:对数组元素按照升序或降序进行排序

华为机试HJ8:合并表记录

华为机试HJ30:字符串合并处理

华为机试题 HJ101输入整型数组和排序标识,对其元素按照升序或降序进行排序