剑指offer 数组中出现超过一半的数字
Posted theodoric008
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了剑指offer 数组中出现超过一半的数字相关的知识,希望对你有一定的参考价值。
class Solution {
public:
int MoreThanHalfNum_Solution(vector<int> numbers) {
if(numbers.empty()){
return 0;
}
if(numbers.size() == 1){
return numbers[0];
}
int len = (int)numbers.size();
float target = len/2.0;
map<int, int> m;
for(int num: numbers){
if(m.count(num) != 0){
m[num]++;
if(m[num] > target) return num;
}
else{
m.insert(pair<int, int>(num, 1));
}
}
return 0;
}
};
以上是关于剑指offer 数组中出现超过一半的数字的主要内容,如果未能解决你的问题,请参考以下文章