题目
在一大堆数据中找出重复的是一件经常要做的事情。现在,我们要处理许多整数,在这些整数中,可能存在重复的数据。
你要写一个程序来做这件事情,读入数据,检查是否有重复的数据。如果有,输出“YES
”这三个字母;如果没有,则输出“NO
”。
输入格式
你的程序首先会读到一个正整数n,n∈[1,100000],然后是n个整数。
输出格式
如果这些整数中存在重复的,就输出:
YES
否则,就输出:
NO
代码展示
public class demo05 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int scan = scanner.nextInt();
int[] arr = new int[scan];
//输入数据
for (int i = 0; i < scan; i++) {
arr[i]=scanner.nextInt();
}
System.out.println();
int temp=0;
//先冒泡排序,得到一段有序的数据
for (int i = 0; i < arr.length-1; i++) {
for (int j = 0; j <arr.length-i-1 ; j++) {
if (arr[j]>=arr[j+1]){
temp = arr[j];
arr[j]=arr[j+1];
arr[j+1]=temp;
}
}
}System.out.println();
//再查询。查询两个相邻的数据,是否相同,相同则返回YES,不同则返回NO
int i = 0;
for (; i <arr.length-1; i++) {
if (arr[i] == arr[i + 1]) {
System.out.println("YES");
break;
} else {
while((i+1)==arr.length-1){
System.out.println("NO");
break;
}
}
}
}
}
运行结果