leetcode 169.多数元素
思路:哈希表+模拟
其实这道题并不用太过于麻烦,我们可以用哈希表的特性映射,对于数组中每一个元素的个数进行存储;
之后,我们再遍历哈希表,找到其中个数超过n/2的个数对应的元素就行了。
注意:这里说的是下取整,我们不需要判断这里的奇数偶数了。
上代码:
class Solution {
public:int majorityElement(vector<int>& nums) {int n=nums.size();map<int,int>m;for(int i=0;i<n;i++){m[nums[i]]++;}int num=n/2;int res=0;for(auto it:m){if(it.second>num){res=it.first;break;}}return res;}
};