给定一个大小为 n 的数组,找到其中的多数元素。多数元素是指在数组中出现次数大于 ⌊ n/2 ⌋ 的元素。
你可以假设数组是非空的,并且给定的数组总是存在多数元素。
示例 1:
输入: [3,2,3]
输出: 3
解题过程:
1.利用hashmap 并且利用其计数的方式,并且定义maxnum和maxcount=0;
class Solution {
public int majorityElement(int[] nums) {
//哈希表
//定义一个哈希表
Map<Integer, Integer> map = new HashMap<>();
// maxNum 表示元素,maxCount 表示元素出现的次数
int maxNum = 0, maxCount = 0;
//遍历数组
for (int num: nums) {
//Map.getOrDefault(Object key, V defaultValue)方法的作用是:
int count = map.getOrDefault(num, 0) + 1;
map.put(num, count);
if (count > maxCount) {
maxCount = count;
maxNum = num;
}
}
return maxNum;
}
}