用贪心算法求解一个序列中出现次数最多的元素 java编程语言
时间: 2023-08-08 20:12:48 浏览: 88
好的,针对您的问题,我可以给您提供以下 Java 代码实现来解决:
```java
import java.util.HashMap;
import java.util.Map;
import java.util.Map.Entry;
public class MostFrequentElement {
public static void main(String[] args) {
int[] arr = { 1, 2, 3, 4, 3, 2, 3, 1, 2, 1, 4, 4, 4, 4 };
System.out.println("Most frequent element: " + findMostFrequentElement(arr));
}
public static int findMostFrequentElement(int[] arr) {
Map<Integer, Integer> countMap = new HashMap<>();
for (int i : arr) {
if (countMap.containsKey(i)) {
countMap.put(i, countMap.get(i) + 1);
} else {
countMap.put(i, 1);
}
}
int mostFrequentElement = -1;
int maxCount = -1;
for (Entry<Integer, Integer> entry : countMap.entrySet()) {
if (entry.getValue() > maxCount) {
maxCount = entry.getValue();
mostFrequentElement = entry.getKey();
}
}
return mostFrequentElement;
}
}
```
该代码使用了 HashMap 来存储每个元素出现的次数,然后遍历 Map 找到出现次数最多的元素。
阅读全文