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

简介: 华为机试HJ80:整型数组合并

题目描述:

将两个整型数组按照升序合并,并且过滤掉重复数组元素。

输出时相邻两数之间没有空格。

请注意本题有多组样例。

输入描述:

输入说明,按下列顺序输入:

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;
}
相关文章
|
6月前
《剑指Offer》JZ3 数组中重复的数字
《剑指Offer》JZ3 数组中重复的数字
28 2
|
6月前
【每日一题Day205】LC2441与对应负数同时存在的最大正整数 | 哈希表
【每日一题Day205】LC2441与对应负数同时存在的最大正整数 | 哈希表
45 1
|
算法 C++
剑指offer(C++)-JZ3:数组中重复的数字(算法-排序)
剑指offer(C++)-JZ3:数组中重复的数字(算法-排序)
|
6月前
【每日一题Day142】LC1590使数组和能被 P 整除 | 前缀和+哈希表
【每日一题Day142】LC1590使数组和能被 P 整除 | 前缀和+哈希表
41 0
|
6月前
【每日一题Day368】LC421数组中两个数的最大异或值 | 字典树
【每日一题Day368】LC421数组中两个数的最大异或值 | 字典树
30 0
华为机试HJ106:字符逆序
华为机试HJ106:字符逆序
119 1
剑指offerJZ50 数组中重复的数字
剑指offerJZ50 数组中重复的数字
45 0
|
Serverless
华为机试HJ30:字符串合并处理
华为机试HJ30:字符串合并处理
|
容器
华为机试HJ93:数组分组
华为机试HJ93:数组分组
华为机试HJ9:提取不重复的整数
华为机试HJ9:提取不重复的整数