程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> LeetCode--Majority Element

LeetCode--Majority Element

編輯:C++入門知識

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.

解決方案:
public class Solution {
    public int majorityElement(int[] num) {
        int n = num.length;
        HashMap hsMap = new HashMap();

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


  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved