剑指offer:数组中出现次数超过一半的数字
用哈希表unmp,存着每个数出现的次数,for循环遍历整个数组,如果数相同就+1放到unmp中,当unmp[numbers[i]]的值大于整个数组一半的时候就输出此时的数!!!(挺简单)
#include <unordered_map>
class Solution{
public:
int MoreThanHalfNum_Solution(vector<int> numbers){
unordered_map<int, int> unmp;
int len = numbers.size();
for(int i =0;i<len;++i){
unmp[numbers[i]]++;
if(unmp[numbers[i]]>len/2) return numbers[i];
}
return 0;
}
};
#剑指offer##23届找工作求助阵地#
查看18道真题和解析
科大讯飞公司氛围 436人发布
