import java.util.*;
public class Solution {
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param numbers int整型一维数组
* @return int整型
*/
public int MoreThanHalfNum_Solution (int[] numbers) {
// write code here
Map<Integer, Integer> counter = new HashMap<>();
// 词频统计
for (int x : numbers) counter.compute(x, (k, v) -> v == null ? 1 : v + 1);
// 根据题意,在hashmap中找到出现次数超过数组长度一半的数
for (Map.Entry<Integer, Integer> entry : counter.entrySet()) {
if (entry.getValue() > numbers.length / 2) return entry.getKey();
}
return -1;
}
}