题解 | #哈希表——数组中出现次数超过一半的数字#
数组中出现次数超过一半的数字
https://www.nowcoder.com/practice/e8a1b01a2df14cb2b228b30ee6a92163
/* 将数组中的数作为键值,出现次数作为实值,插入的同时检查该键值对应的实值是否大于数组的一般,大于即返回该键值或者数组中的数 */ #include <unordered_map> class Solution { public: int MoreThanHalfNum_Solution(vector<int> numbers) { unordered_map<int, int> hash; for(int i=0;i<numbers.size();++i){ hash[numbers[i]]++; if(hash[numbers[i]]>(numbers.size()/2)) return numbers[i]; } return 0; } };