/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param numbers int整型一维数组
* @return int整型
*/
function MoreThanHalfNum_Solution(numbers) {
// write code here
let std = parseInt(numbers.length / 2);
let map = new Map();
// 遍历数组,统计每个数字的出现次数
for (let num of numbers) {
if (map.has(num)) {
map.set(num, map.get(num) + 1); // 如果数字已存在,次数加 1
} else {
map.set(num, 1); // 如果数字不存在,初始化为 1
}
}
// 遍历字典,找到出现次数超过一半的数字
for (let [num, count] of map.entries()) {
if (count > std) {
return num; // 返回符合条件的数字
}
}
return -1; // 题目保证有解,这里不会执行
}
module.exports = {
MoreThanHalfNum_Solution: MoreThanHalfNum_Solution,
};