169. 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. class Solution {  
  2. public:  
  3.     int majorityElement(vector<int>& nums) {  
  4.         if(nums.size()==0) return 0;  
  5.           
  6.         unordered_map<int,int> order;  
  7.         for(int i=0;i<nums.size();i++){  
  8.             order[nums[i]]++;  
  9.             if(order[nums[i]]>nums.size()/2) return nums[i];     
  10.         }  
  11.           
  12.           
  13.     }  
  14. };  
原文地址:https://www.cnblogs.com/liangyc/p/8812516.html