题目描述
给定一个大小为 n 的数组,找到其中的多数元素。多数元素是指在数组中出现次数 大于 ⌊ n/2 ⌋ 的元素。
你可以假设数组是非空的,并且给定的数组总是存在多数元素。
示例

题解
HashMap计算次数。
代码
class Solution {
public int majorityElement(int[] nums) {
Map<Integer, Integer> hash = new HashMap();
for (int thisNum : nums) {
if (hash.containsKey(thisNum)) {
int sum = hash.get(thisNum) + 1;
if (sum > nums.length / 2) {
return thisNum;
}
hash.put(thisNum, sum);
}
else {
hash.put(thisNum, 1);
}
}
return nums[0];
}
}
性能

该博客讨论了一种利用HashMap解决编程问题的方法,即在给定的非空数组中找出出现次数超过数组长度一半的多数元素。通过遍历数组并使用HashMap存储每个元素及其出现次数,当某个元素的计数超过数组长度的一半时,即可返回该元素作为多数元素。这种方法有效地解决了寻找多数元素的问题。
442

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



