/**
 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
 *
 * 
 * @param numbers int整型一维数组 
 * @param numbersLen int numbers数组长度
 * @return int整型
 */

//本题用哈希表进行存储,将原数组的数据当作哈希表的下标,每当原数组的数据出现后,哈希表的对应下标加一,最后再遍历哈希表一遍,查看里面存储的数据是否大于规定值的一半。
int MoreThanHalfNum_Solution(int* numbers, int numbersLen ) {
    // write code here
    int a[10001]={0};//定义的哈希表,下标范围根据题目定的
    int sum=0;
    int i;
    for(i=0 ;i<numbersLen;i++)
    {
        a[numbers[i]]++;
    }
    sum=numbersLen/2;
    for(i=0 ;i<10001;i++)
    {
        if(a[i]>sum)
        return i;
    }
    return 0;
}