挑战Java最快,10ms
数组中出现次数超过一半的数字
http://www.nowcoder.com/questionTerminal/e8a1b01a2df14cb2b228b30ee6a92163
import java.util.*;
public class Solution {
public int MoreThanHalfNum_Solution(int [] array) {
if(array.length==1){
return array[0];
}
Map<Integer,Integer> map=new HashMap<Integer,Integer>();
for(int i:array){
if(map.containsKey(i)){
if(map.get(i)>((map.size()+1)/2)){
return i;
}
map.put(i,map.get(i)+1);
}else{
map.put(i,1);
}
}
return 0;
}
}