java数组出现次数最多的数_java找出一个数组中出现次数最多且最大的那个元素...
时间: 2023-08-08 22:08:54 浏览: 111
Java 面试题及参考答案
可以使用哈希表来解决这个问题。首先,遍历一遍数组,将每个元素出现的次数记录在哈希表中。然后,再遍历一遍哈希表,找到出现次数最多的元素。
以下是Java代码实现:
```java
public static int findMostFrequentElement(int[] arr) {
HashMap<Integer, Integer> map = new HashMap<Integer, Integer>();
int maxCount = 0;
int mostFrequentElement = 0;
// 遍历数组,将每个元素出现的次数记录在哈希表中
for (int i : arr) {
if (!map.containsKey(i)) {
map.put(i, 1);
} else {
int count = map.get(i);
map.put(i, count + 1);
}
}
// 遍历哈希表,找到出现次数最多的元素
for (Map.Entry<Integer, Integer> entry : map.entrySet()) {
int count = entry.getValue();
if (count > maxCount || (count == maxCount && entry.getKey() > mostFrequentElement)) {
maxCount = count;
mostFrequentElement = entry.getKey();
}
}
return mostFrequentElement;
}
```
我们先定义一个哈希表 `map`,然后遍历数组 `arr`,将每个元素出现的次数记录在哈希表中。接着,我们再遍历哈希表,找到出现次数最多的元素。如果有多个元素出现次数相同,则返回其中最大的那个元素。
阅读全文