
【解题思路】
统计数组中所有数字出现的次数,在所有数字中找到出现次数大于数组长度一半的数字。
class Solution {
public int majorityElement(int[] nums) {
HashMap<Integer, Integer> map = new HashMap<Integer, Integer>();
for(int i = 0; i < nums.length; i++)
{
int cnt = map.getOrDefault(nums[i], 0) + 1;
map.put(nums[i], cnt);
}
int ans = 0;
for(Integer key : map.keySet())
{
if(map.get(key) > nums.length/2)
{
ans = key;
break;
}
}
return ans;
}
}
本文介绍了一种使用哈希映射来查找数组中出现次数超过一半的多数元素的方法。通过统计数组中每个元素出现的频率,并遍历哈希映射找出满足条件的元素。
301

被折叠的 条评论
为什么被折叠?



