题目描述
知识点
数组
结果
实现
码前思考
- 直接暴力排序,返回
size/2
,即可求出众数(majority element其实就是众数的意思啊!)
代码实现
class Solution {
public:
int majorityElement(vector<int>& nums) {
sort(nums.begin(),nums.end());
return nums[nums.size()/2];
}
};
码后反思
- 可以使用哈希表的方法,空间换时间:
class Solution { public: int majorityElement(vector<int>& nums) { unordered_map<int,int> counts; int size = nums.size(); for(int i=0;i<nums.size();i++){ counts[nums[i]]++; if(counts[nums[i]] > size/2){ return nums[i]; } } return -1; } };