排序法 简单明了 但是时间复杂度为O(nlogn)
function MoreThanHalfNum_Solution(numbers)
{
let sortedArr = numbers.sort();
let mediumIndex = Math.floor(sortedArr.length/2);
let count = 0;
for(let i = 0; i < sortedArr.length; i++){
if(sortedArr[i] == sortedArr[mediumIndex]){
count ++;
}
}
return count > mediumIndex ? sortedArr[mediumIndex] : 0;
}
module.exports = {
MoreThanHalfNum_Solution : MoreThanHalfNum_Solution
};要注意测试用例 某一数字出现次数等于长度的一半的时候 如[1,2,2,2,3,3],这种情况还是返回0



京公网安备 11010502036488号