码迷,mamicode.com
首页 > 其他好文 > 详细

LeetCode--Majority Element

时间:2014-12-29 21:30:26      阅读:192      评论:0      收藏:0      [点我收藏+]

标签:

题目:

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.

解决方案:
public class Solution {
    public int majorityElement(int[] num) {
        int n = num.length;
        HashMap<Integer, Integer> hsMap = new HashMap<Integer, Integer>();

        for (int i = 0; i < n; i++) {
            if (hsMap.get(num[i]) == null) {
                hsMap.put(num[i], 1);

                if (1 > (n / 2)) {
                    return num[i];
                }
            } else // hsMap.get(num[i]) != null
             {
                if ((hsMap.get(num[i]) + 1) > (n / 2)) {
                    return num[i];
                }

                hsMap.put(num[i], hsMap.get(num[i]) + 1);
            }
        }

        return -1;
    }
}


LeetCode--Majority Element

标签:

原文地址:http://blog.csdn.net/wj512416359/article/details/42243103

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!