向量魔法:去除重复项并保留顺序

C++ Hard vectors

任务 «向量魔法:去除重复项并保留顺序»

给定一个整数向量。需要删除其中的所有重复项,只保留每个元素的第一次出现,同时保持元素的原有顺序。请实现一个函数,该函数接收该向量并返回一个不含重复项的新向量。禁止使用 std::set 或 std::unordered_set。输入数据:首先是一个整数 N(1 ≤ N ≤ 10^5)——表示元素个数,随后是 N 个整数,每个整数的绝对值不超过 10^9。输出处理后的向量,元素之间用空格分隔。

输入格式

第一行:一个整数 N(1 ≤ N ≤ 10^5)。第二行:N 个以空格分隔的整数。

输出格式

一行:结果向量的元素,用空格分隔。

示例

示例 1

输入
5 1 2 3 2 1
输出
1 2 3

示例 2

输入
6 4 5 6 5 4 3
输出
4 5 6 3

示例 3

输入
5 1 2 3 4 5
输出
1 2 3 4 5

示例 4

输入
4 7 7 7 7
输出
7

示例 5

输入
8 2 5 2 8 5 6 8 8
输出
2 5 8 6
main.cpp