给定一个大小为 n 的整数数组,找出其中所有出现超过 ⌊ n/3 ⌋ 次的元素。
比较常规的写法,计数,筛选
class Solution {
public:
vector<int> majorityElement(vector<int>& nums)
{
int n = nums.size();
int nLength = n / 3;
vector<int> vecAns;
unordered_map<int, int> mapCount;
for (auto &it : nums)
{
mapCount[it]++;
}
for (auto &it : mapCount)
{
if (it.second > nLength)
{
vecAns.push_back(it.first);
}
}
return vecAns;
}
};