用java编写程序【问题描述】 输入若干个整数,统计出现次数最多的那个整数。如果出现最多的整数有两个以上,打印最早输入的那个整数。 【输入形式】 从标准输入读取输入。第一行只有一个数字N(1<N<10000),代表整数的个数。以后的N行每行有一个整数。 【输出形式】 向标准输出打印出现次数最多的那个数字。 【输入样例】 6 11 0 -1 20 0 300 【输出样例】 0 【样例说明】 输入6个整数,其中出现次数最多的是0,共出现两次。
时间: 2024-02-13 07:01:06 浏览: 81
输入若干个整数,统计出现次数最多的那个整数。如果出现最多的整数有两个以上,打印最早输入的那个整数。
好的,以下是 Java 代码示例:
```java
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
Map<Integer, Integer> map = new HashMap<>();
int maxCount = 0;
int maxNum = Integer.MAX_VALUE;
for (int i = 0; i < n; i++) {
int num = scanner.nextInt();
int count = map.getOrDefault(num, 0) + 1;
map.put(num, count);
if (count > maxCount || (count == maxCount && num < maxNum)) {
maxCount = count;
maxNum = num;
}
}
System.out.println(maxNum);
}
}
```
代码的思路是使用 Java 内置的 Map 类来统计每个整数出现的次数并找到出现次数最多的整数,如果有多个整数出现次数相同则选取最早输入的那个整数。具体实现时,使用一个 Map 存储每个整数出现的次数,同时使用两个变量分别存储出现次数最多的整数和它的出现次数,遍历所有输入的整数时不断更新这两个变量。最后输出出现次数最多的整数。
阅读全文