Majority Element

来源:互联网 发布:vscode 真机调试 编辑:程序博客网 时间:2024/03/29 15:21

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、题目解析:

主要是用到了hash表来存放数字出现的次数


int majorityElement(vector<int> &num) {map<int,int> numCount;int len = num.size();if(len == 1){return num[0];}int threshold = len/2;for(int i=0;i<len;i++){if(numCount.find(num[i]) == numCount.end()){numCount[num[i]] = 1;}else{numCount[num[i]] = numCount[num[i]] + 1;if(numCount[num[i]] > threshold){return num[i];}}}}


0 0