我需要一个方法,可以从 Java 整数数组中返回最常见的数字。如果 2 个数字最常见,我希望该方法返回最大的数字。
示例:
-
[4,1,4,1,3]
->4
(不是1
) -
[5,2,6,5,5]
->5
谢谢。
最佳答案
解决方案之一是创建以 Integer 作为键、以 Integer 作为值的 Map。您必须遍历数组并增加 map 中的数字数量。
Integer[] arr = {4, 1, 4, 1, 3};
Map<Integer,Integer> integersCount = new HashMap<Integer,Integer>();
for (Integer i : arr){
if (!integersCount.containsKey(i))
integersCount.put(i, 1);
else
integersCount.put(i, integersCount.get(i) + 1);
}
之后,您可以浏览 map 并记住具有最大值的元素的位置。
对于另一个解决方案,我建议计算另一个数组中的数字 - 阅读“计数排序”。
关于java - Java 数组中出现次数最多的数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39798307/