整型数组合并
算法知识视频讲解
较难 通过率:29.31% 时间限制:1秒 空间限制:32M
知识点
排序
数组
题目
题解(16)
讨论(182)
排行
warning 校招时部分企业笔试将禁止编程题跳出页面,为提前适应,练习时请使用在线自测,而非本地IDE。
描述
题目标题:

将两个整型数组按照升序合并,并且过滤掉重复数组元素。
输出时相邻两数之间没有空格。
请注意本题有多组样例。

输入描述:
输入说明,按下列顺序输入:
1 输入第一个数组的个数
2 输入第一个数组的数值
3 输入第二个数组的个数
4 输入第二个数组的数值

输出描述:
输出合并之后的数组

示例1
输入:
3
1 2 5
4
-1 0 3 2
复制
输出:
-101235

#include <iostream>
#include <set>
#include <algorithm>
using namespace std;

template <class T>
class print {
public:
    void operator()(T out){
        cout<<out;
    }
};

int main()
{
    int num1, num2;
    int temp;
    /*set:自动排序且过滤重复出现数字*/
    while(cin>>num1){
         set<int> inputSet; // 必须在局部:
         for(int i = 0; i < num1; i++) {
            cin>>temp;
            inputSet.insert(temp);
        }
        cin>>num2;
        for(int i = 0; i < num2; i++) {
            cin>>temp;
            inputSet.insert(temp);
        }
        for_each(inputSet.begin(), inputSet.end(), print<int>());    
        cout<<endl;
    }

}