哈希表O(n)的解法
int MoreThanHalfNum(int* numbers, int length)
{
unordered_map<int,int> num;
if (numbers == nullptr || length <= 0 )
return 0;
for (int i = 0; i < length; ++i)
{
num[numbers[i]] ++;
if (2 * num[numbers[i]] >= length)
return numbers[i];
}
return 0;
}