多數元素

題目

給定一個大小爲 n 的數組,找到其中的多數元素。多數元素是指在數組中出現次數大於 ⌊ n/2 ⌋ 的元素。

你可以假設數組是非空的,並且給定的數組總是存在多數元素。

示例 1:

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

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

答案

基本思路爲使用HashMap對數組中的每一個數進行統計

import java.util.HashMap;

/**
 * @Author Zrt
 * @Date 2020/3/4 17:12
 */
class Solution {
    public int majorityElement(int[] nums) {
        HashMap<Integer,Integer> map = new HashMap();
        for (int num : nums) {
            if(map.containsKey(num)){
                map.put(num,map.get(num)+1);
            }else{
                map.put(num,1);
            }
        }
        for(Integer integer : map.keySet()){
            if(map.get(integer)>(nums.length/2)){
                return integer;
            }
        }
        return -1;
    }
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章