Cha*_*ick 10
完成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;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6559 次 |
| 最近记录: |