解题:
1. 哈希表 , k 值 ,v 次数的映射。
2.排序
class Solution {
public:
int majorityElement(vector<int>& nums)
{
// 因为用到了sort,时间复杂度O(NlogN),并非最优
if(nums.empty()) return 0;
sort(nums.begin(),nums.end()); // 排序,取数组中间那个数
int middle = nums[nums.size() / 2];
int count=0; // 出现次数
for(int i=0; i < nums.size() ;++i)
{
if(nums[i]==middle) ++count;
}
return (count > nums.size() / 2) ? middle : 0;
}
};