Java-Majority Element

Given an array of size n, find the majority element. The majority element is the element that appears more than ⌊ n/2 ⌋ times.

You may assume that the array is non-empty and the majority element always exist in the array.

Credits:
Special thanks to @ts for adding this problem and creating all test cases.

要求找出出現次數過半的數組元素 只要使用哈希表 進行一次遍歷存儲 滿足hm.get(num[i])>num.length/2-1的即使所求結果 代碼如下:

public class Solution {
    public int majorityElement(int[] num) {
        Map<Integer,Integer> hm=new HashMap<Integer,Integer>();
        for(int i=0;i<num.length;i++){
            if(hm.containsKey(num[i])){
                if(hm.get(num[i])>num.length/2-1){
                    return num[i];
                }else{
                    hm.put(num[i],hm.get(num[i])+1);
                }
            }else{
                    hm.put(num[i],1);
            } 
        }
        return num[0];
    }
}


 

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