gpt4 book ai didi

java - 在java中获取模式值

转载 作者:搜寻专家 更新时间:2023-11-01 01:15:20 25 4
gpt4 key购买 nike

知道如何从数组中获取模式值吗?例如,如果我有一个包含不同数字的数组,我如何使用 Java 找出出现次数最多的数字?

最佳答案

在 O(n) 中完成,而不是 O(n^2)。需要长度 > 0 的数组。

public static int getMode(int[] values) {
HashMap<Integer,Integer> freqs = new HashMap<Integer,Integer>();

for (int val : values) {
Integer freq = freqs.get(val);
freqs.put(val, (freq == null ? 1 : freq+1));
}

int mode = 0;
int maxFreq = 0;

for (Map.Entry<Integer,Integer> entry : freqs.entrySet()) {
int freq = entry.getValue();
if (freq > maxFreq) {
maxFreq = freq;
mode = entry.getKey();
}
}

return mode;
}

关于java - 在java中获取模式值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/716496/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com