一、 哈希表统计次数14行通过,简单易懂
二、题目信息
三、解题思路
利用哈希表K,V的特性遍历每一个数字,K是数字的值,V是这个数字出现的次数。如果某个数字出现的个数已经超过数组的一半,直接返回。
四、代码
class Solution {
public int majorityElement(int[] nums) {
//创建一个哈希表统计出现的次数
Map<Integer,Integer> map=new HashMap<>();
//定义length变量遍历数组
int length= nums.length;
for (int i = 0; i <length ; i++) {
//统计这个数出现的次数。
int count=map.getOrDefault(nums[i],0)+1;
//如果某个数出现的次数已经超过数组的一半了,直接返回,节省时间。
if(count>length/2){
return nums[i];
}
//把每一个遍历的数组放进map里
map.put(nums[i],count);
}
return -1;
}
}