思路: 采用HashMap
- 如果存在,则 map.put(val, count+1),判断count+1 > array.length/2,是则返回当前元素值val;
- 如果不存在,则添加进map (val, 1)。
import java.util.*;
public class Solution {
public int MoreThanHalfNum_Solution(int [] array) {
// 采用hashmap,如果不存在,则添加进map (val, 1)
// 如果存在,则 map.put(val, count+1),判断count+1 > array.length/2,是则返回
HashMap<Integer, Integer> map = new HashMap<>();
for(int i=0; i<array.length; i++){
if(map.containsKey(array[i])){
map.put(array[i], map.get(array[i])+1);
if(map.get(array[i]) > array.length/2) return array[i];
}else{
map.put(array[i], 1);
}
}
return array[0];
}
}