Tho*_*phe 0 java arrays numbers
我需要有一个方法可以从 Java 中的整数数组中返回最频繁的数字。如果 2 个数字是最常见的,我希望该方法返回最高的数字。
例子:
[4,1,4,1,3]-> 4(不是1)[5,2,6,5,5] -> 5谢谢。
解决方案之一是创建以 Integer 为键、以 Integer 为值的 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);
}
Run Code Online (Sandbox Code Playgroud)
之后,您可以浏览地图并记住具有最大价值的元素的位置。
对于另一个解决方案,我建议计算另一个数组中的数字 - 阅读“计数排序”。
| 归档时间: |
|
| 查看次数: |
3578 次 |
| 最近记录: |