62,616
社区成员
发帖
与我相关
我的任务
分享
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int a = input.nextInt();
int ary[] = new int[20];
int b = 0;
int count1 = 0, count2 = 0;
for (int i = 0; i < a; i++) {
ary[i] = input.nextInt();
}
if (a == 1) {
System.out.println(ary[0]);
} else {
for (int i = 0; i < a; i++) {
for (int j = i + 1; j < a - 1; j++) {
if (ary[i] == ary[j]) {
count1++;
}
if (count1 > count2) {
b = i;
count2 = count1;
}
count1 = 0;
}
}
System.out.println(ary[b]);
}
}
}
for (int j = i + 1; j < a - 1; j++) {
这行j<a才是正确的,j<a-1 数组最后一个没有参与计算,所以你这个输出是0。
0 0 1 1 1 你这个结果还是0
1 0 0 你这个结果是1。