import java.util.*; //牛客网居然还得自己导入jar包。。。,注意了,我说我为啥一直不能通过
public class Solution {
public int MoreThanHalfNum_Solution(int [] array) {
HashMap<Integer, Integer> mp = new HashMap<Integer, Integer>();
for(int i =0; i < array.length; i++){
if(!mp.containsKey(array[i])){
mp.put(array[i],1);
}else{
mp.put(array[i], mp.get(array[i])+1);
if(mp.get(array[i]) > array.length/2){
return array[i];
}
}
}
return array[0];//我代码和其他人的都一样,和官方也一样,但就是不能通过数组这只有一个数的情况,所以当成特殊情况处理
}
}
import java.util.*;
public class Solution {
public int MoreThanHalfNum_Solution(int [] array) {
//哈希表统计每个数字出现的次数
HashMap<Integer, Integer> mp = new HashMap<Integer, Integer>();
//遍历数组
for(int i = 0; i < array.length; i++){
//统计频率
if(!mp.containsKey(array[i]))
mp.put(array[i], 1);
else
mp.put(array[i], mp.get(array[i]) + 1);
//一旦有个数大于长度一半的情况即可返回
if(mp.get(array[i]) > array.length / 2)
return array[i];
}
return 0;
}
}