时间限制:C/C++ 1秒,其余语言2秒
空间限制:C/C++ 32M,其余语言64M
热度指数:576107
本题知识点: 数组javascript
数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。因为数字2在数组中出现了5次,超过数组长度的一半,所以输出2。若是不存在则输出0。java
function MoreThanHalfNum_Solution(numbers) { // write code here let temp = [], num; for(let i=0; i<numbers.length; i++){ for(let j=0; j<numbers.length-i-1; j++){ if(numbers[j]>numbers[j+1]){ temp = numbers[j]; numbers[j] = numbers[j+1]; numbers[j+1] = temp; } } } num = parseInt(numbers.length/2); for(let i=0; i<numbers.length; i++){ if(numbers[i] === numbers[i+num]){ return numbers[i]; } } return 0; }
分析:
先用冒泡给数组排个序web