1. 程式人生 > >BZOJ 2761 不重複數字 set

BZOJ 2761 不重複數字 set

題目大意:

給出N個數,要求把其中重複的去掉,只保留第一次出現的數。

例如,給出的數為1 2 18 3 3 19 2 3 6 5 4,其中2和3有重複,去除後的結果為1 2 18 3 19 6 5 4。

思路:

set

#include <iostream>
#include<stdio.h>
#include<string.h>
#include<set>
using namespace std;
set<int>s;
int main()
{
int t;
scanf("%d",&t);
while(t--)
{
    int n;
    scanf("%d",&n);
    s.clear();
    int flas=1;
    while(n--)
    {
        int x;
        scanf("%d",&x);
        if(s.count(x))continue;
        s.insert(x);
        if(flas)flas=0;
        else printf(" ");
        printf("%d",x);
    }
    puts("");
}
    return 0;
}