Description
给定含有n个整数的序列,要求对这个序列进行去重操作。所谓去重,是指对这个序列中每个重复出现的数,只保留该数第一次出现的位置,删除其余位置。
Input
输入一个整数n,表示序列有n个整数(0<n<=100000)
接下来输入n个整数,表示序列中的数,这些数在[0,100000]区间内。
Output
按照输入的顺序输出去重后的序列,整数之间用空格隔开。
Sample Input
8
1 2 4 3 1 2 4 3
Sample Output
1 2 4 3
#include<stdio.h>
int main()
{
int n,i,j,k,max=-1;;
while(scanf("%d",&n)!=EOF)
{
max=-1;
int a[100001],b[100005];
for(i=0;i<=n-1;i++)
{
scanf("%d",&a[i]);
if(a[i]>max) max=a[i];
}
printf("%d",a[0]);
b[a[0]]=-1;
for(k=1;k<=n-1;k++)
{
if(b[a[k]]==0)
{
printf(" %d",a[k]);
b[a[k]]=-1;
}
}
printf("\n");
}
return 0;
}
以上代码提交后显示错误