在一大堆数据中找出重复的是一件经常要做的事情。现在,我们要处理许多整数,在这些整数中,可能存在重复的数据。
你要写一个程序来做这件事情,读入数据,检查是否有重复的数据。如果有,输出“YES”这三个字母;如果没有,则输出“NO”。
输入格式:
你的程序首先会读到一个正整数n,n∈[1,100000],然后是n个整数。
输出格式:
如果这些整数中存在重复的,就输出:
YES
否则,就输出:
NO
输入样例:
5
1 2 3 1 4
输出样例:
YES
代码长度限制
16 KB
时间限制
800 ms
内存限制
64 MB
C (gcc)








1
#include <stdio.h>
2
int main()
3
{
4
int a[100000],num,n,i=0;
5
int flag[100000] = { 0
6
};
7
scanf("%d", &n);
8
for (i = 0; i < n; i++)
9
{
10
scanf("%d", &a[i]);
11
num = a[i];
12
flag[num]++;
13
if (flag[num] == 2)
14
{
15
printf("YES");
16
return 0;
17
}
18
}
19
printf("NO");
20
return 0;
21
}
运行错误,为何,怎么改?