洛谷P4305不重复数字
程序员文章站
2024-03-16 22:26:22
...
题目描述
给定 n 个数,要求把其中重复的去掉,只保留第一次出现的数。
输入格式
本题有多组数据。
第一行一个整数 T,表示数据组数。
对于每组数据:
第一行一个整数 n。
第二行 n 个数,表示给定的数。
输出格式
对于每组数据,输出一行,为去重后剩下的数,两个数之间用一个空格隔开。
输入输出样例
输入 #1复制
2
11
1 2 18 3 3 19 2 3 6 5 4
6
1 2 3 4 5 6
输出 #1复制
1 2 18 3 19 6 5 4
1 2 3 4 5 6
说明/提示
对于 30% 的数据,n≤100,给出的数 ∈[0,100]。
对于 60% 的数据,给出的数∈[0,10 ^4 ]。
对于 100% 的数据,1≤T≤50,1≤n≤5×10 ^4
,给出的数在 32 位有符号整数范围内。
下面是STL算法【set】
set有一个count的功能,可以计算字符出现的次数
#include <cstdio>
#include <set>
using namespace std;
set<int> s;
int main() {
int t, n, r, i;
scanf("%d", &t);
while(t--) {
scanf("%d", &n);
s.clear();
scanf("%d", &r);
printf("%d", r);
s.insert(r);
for(i=2; i<=n; ++i) {
scanf("%d", &r);
if(s.count(r)==0)
{
printf(" %d", r);
s.insert(r);
}
}
puts("");
}
return 0;
}
上一篇: Python3面向对象编程的三大特性 封装、继承、多态
下一篇: 五子棋AI算法简易实现(四)