首页 > 代码库 > Java-Majority Element

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];    }}


 

Java-Majority Element