简单的hash表查找法
#include <unordered_map> class Solution { public: int MoreThanHalfNum_Solution(vector<int>& numbers) { unordered_map<int, int> hash; int len = numbers.size(); for (int i = 0; i < len; i++) { if (hash.find(numbers[i]) == hash.end()) { hash[numbers[i]] = 1; } else { hash[numbers[i]]++; } if (hash[numbers[i]] > len / 2) { return numbers[i]; } } return -1; } };