题解 | #数组中出现次数超过一半的数字#(应该采用消除众数的方法)
数组中出现次数超过一半的数字
http://www.nowcoder.com/practice/e8a1b01a2df14cb2b228b30ee6a92163
public:
int MoreThanHalfNum_Solution(vector<int> numbers) {
unordered_map<int,int> m1;
int a;
if(numbers.size() / 2 == 1){
a = numbers.size() / 2 + 1;
}else{
a = numbers.size() / 2;
}
for(int i = 0; i < numbers.size(); i++){
m1[numbers[i]]++;
if(m1[numbers[i]] > a){
return numbers[i];
}
}
return 0;
}
};