https://leetcode-cn.com/problems/shu-zu-zhong-chu-xian-ci-shu-chao-guo-yi-ban-de-shu-zi-lcof/solution/mian-shi-ti-39-shu-zu-zhong-chu-xian-ci-shu-chao-3/
哈希表
class Solution {
public:
int majorityElement(vector<int>& nums) {
unordered_map<int,int> map;
for(int i=0;i<nums.size();i++){
map[nums[i]]++;
if(map[nums[i]]>nums.size()/2)
return nums[i];
}
return 0;
}
};
时间空间复杂度都是O(N)
本题最佳解法:摩尔投票法
时间复杂度O(N),空间复杂度O(1)
class Solution {
public:
int majorityElement(vector<int>& nums) {
int x = 0, votes = 0;
for(int num : nums){
if(votes == 0) x = num;
votes += num == x ? 1 : -1;
}
return x;
}
};