LeetCode 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.

 

 1 public class Solution {
 2     public int majorityElement(int[] num) {
 3         int length=num.length;
 4         if (length==1) {
 5             return num[0];
 6         }
 7         HashMap<Integer, Integer> map =new HashMap<>();
 8         for (int i = 0; i < length; i++) {
 9             if (!map.containsKey(num[i])) {
10                 map.put(num[i], 1);
11             }else {
12                 int value=map.get(num[i])+1;
13                 if (value>length/2) {
14                     return num[i];
15                 }else {
16                     map.put(num[i], value);
17                 }
18                 
19                 
20             }
21         }
22         return 0;
23     }
24 }

 

posted @ 2014-12-22 20:44  birdhack  阅读(226)  评论(1编辑  收藏  举报