leetcode——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.


class Solution {
public:
    int majorityElement(vector<int>& nums) {
        if(nums.size()==1)
             return nums[0]; 
        map<int,int> tables;
        for(int i=0;i<nums.size();i++)
        { 
            if(tables.count(nums[i]))
            { 
                tables[nums[i]]++;
                if(tables[nums[i]]>nums.size()/2)
                  return nums[i];
            } 
            else
            { 
                tables[nums[i]]=1; 
                
            } 
        }
    }
};

你可能感兴趣的:(LeetCode,算法题)