【LeetCode热题100】--169.多数元素

169.多数元素

【LeetCode热题100】--169.多数元素_第1张图片

使用哈希表:

class Solution {
    public int majorityElement(int[] nums) {
        int n = nums.length;
        int m = n/2;
        Map<Integer,Integer> map = new HashMap<>();  //定义一个hash
        for(int num:nums){
            Integer count = map.get(num);  //Map.get() 方法返回指定键所映射的值。如果此映射不包含该键的映射关系,则返回 null。所以注意这里count为Integer类型,Integer类型默认为null
            if(count == null){
                count = 1;
            }else{
                count++;
            }
            map.put(num,count);  //记录下每个元素出现的次数
        }
        for(int val:map.keySet()){
            if(map.get(val) > m){
                return val;
            }
        }
        return 0;
    }
}

你可能感兴趣的:(LeetCode,leetcode,算法)