c_cpp 数组中出现次数超过一半的数字的.cpp

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c_cpp 数组中出现次数超过一半的数字的.cpp相关的知识,希望对你有一定的参考价值。

//数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。如果不存在则输出0。


int MoreThanHalfNum_Solution(vector<int> numbers) {
        int count[10] = {0};
    for(auto it = numbers.begin(); it != numbers.end(); it++)
    {
        count[*it]++;   
    }
     
    size_t iSize = numbers.size();
    size_t iHalf;
    iHalf = iSize/2;
    int iRet = 0;
    for(int i = 0; i < 10; i++)
    {
        if(count[i] > iHalf)
        {
            iRet = i;
            break;
        }
    }
     
    return iRet;
}

以上是关于c_cpp 数组中出现次数超过一半的数字的.cpp的主要内容,如果未能解决你的问题,请参考以下文章

编程算法 - 数组中出现次数超过一半的数字 代码(C)

出现次数超过一半的数字

数组中出现次数超过一半的数字-剑指Offer

39 数组中出现次数超过一半的数字(时间效率)

数组中出现次数超过一半的数字

数组中出现次数超过一半的数字