题解 | #数组中出现次数超过一半的数字#
数组中出现次数超过一半的数字
https://www.nowcoder.com/practice/e8a1b01a2df14cb2b228b30ee6a92163
/** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param numbers int整型一维数组 * @return int整型 */ export function MoreThanHalfNum_Solution(numbers: number[]): number { // write code here const middle = Math.floor(numbers.length/2) const result = {} const length = numbers.length //将对象里面的键对应的值初始化为0 for(let i = 0;i < length;i++){ const stri = numbers[i].toString() result[stri] = 0 } for(let i = 0;i < length;i++){ const stri = numbers[i].toString() result[stri]++ } for(const [keys,values] of Object.entries(result)){ if(values > middle){ return Number(keys) } } }