多数元素

给定一个大小为 n 的数组,找到其中的多数元素。多数元素是指在数组中出现次数 大于 ⌊ n/2 ⌋ 的元素。

你可以假设数组是非空的,并且给定的数组总是存在多数元素。

示例 1:

输入:[3,2,3]
输出:3
示例 2:

输入:[2,2,1,1,1,2,2]
输出:2

解题思路:使用哈希表记录元素出现次数即可

class Solution {
    public int majorityElement(int[] nums) {
        Map<Integer, Integer> map = new HashMap();
        int ans = 0, maxCount = 0;
        for(int num : nums) {
            int count = map.getOrDefault(num, 0) + 1;
            map.put(num, count);
            if(count > maxCount) {
                ans = num;
                maxCount = count;
            }
        }
        
        return ans;
    }
}
posted on 2021-03-01 09:50  KobeSacre  阅读(45)  评论(0编辑  收藏  举报