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 }

 

posted on 2015-01-15 17:38  Step-BY-Step  阅读(119)  评论(0编辑  收藏  举报

导航