#include <stdio.h> int main() { int n; scanf("%d", &n); int arr[100000] = {0}; int b[100000] = {0}; for(int i = 1; i<=n; i++) { scanf("%d\n", &arr[i]); if(arr[i]>0 && arr[i]<=100000) b[arr[i]] = 1; } for(int i=1; i<=n; i++) if(b[i] == 1) printf("%d ", i); return 0; } //上面的方法可以通过,只是空间占用比较大。而下面的方法是照别人写的,不知为什么有的示例不通过 /*int main() { int n; int arr[100000] = {0}; scanf("%d", &n); int temp = 0, i=0; for(i=1; i<=n; i++) { scanf("%d\n", &temp); arr[temp] = temp; } for(i=0; i<n; i++) if(arr[i] != 0) printf("%d ", arr[i]); return 0; } */