整数去重

题目描述:

给定含有n个整数的序列,要求对这个序列进行去重操作。所谓去重,是指对这个序列中每个重复出现的数,只保留该数第一次出现的位置,删除其余位置。

输入格式:

输入包含两行:
第一行包含一个正整数n(1 <= n <= 200000),表示第二行序列中数字的个数;
第二行包含n个整数,整数之间以一个空格分开。每个整数大于等于10、小于等于100,000。

输出格式:

输出只有一行,按照输入的顺序输出其中不重复的数字,整数之间用一个空格分开。

样例输入:

5
10 12 93 12 75

样例输出:

10 12 93 75
#include<bits/stdc++.h>
using namespace std;
int a[200000],b[200000]={0},n,i;
int main() {
    cin>>n;
    for(i=1;i<=n;i++) cin>>a[i];
    for(i=1;i<=n;i++)
        if(!b[a[i]]){//判断有没有重复 
            b[a[i]]=1;//标记
            cout<<a[i]<<" ";
        }
    return 0;
}

 

posted @ 2020-02-23 13:57  傅YF  阅读(791)  评论(0编辑  收藏  举报