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.

 

第一种方法:

存到hashmap中,然后找出现次数多于一半的。

 1 public class Solution {

 2     public int majorityElement(int[] num) {

 3         HashMap<Integer, Integer> map = new HashMap<Integer, Integer>();

 4         for(int n : num){

 5             if(map.containsKey(n)) map.put(n, map.get(n) + 1);

 6             else map.put(n, 1);

 7         }

 8         for(int i : map.keySet()){

 9             if(map.get(i) > num.length / 2) return i;

10         }

11         return -1;

12     }

13 }

 

你可能感兴趣的:(element)