文章
78
粉丝
0
获赞
0
访问
7.9k
(1)
先计算出A数组的大小,统计a中每一个元素的个数,判断元素个数最多的也没有大于n/2,如果有输出,如果没有则输出-1
(2)
int findMajorityElement(const std::vector<int>& A) {
size_t n = A.size();
if (n == 0) {
return -1;
}
std::unordered_map<int, size_t> countMap;
for (int num : A) {
countMap[num]++;
}
for (const auto& pair : countMap) {
if (pair.second * 2 > n) {
return pair.first;
}
}
return -1;
}
(3)
时间复杂度O(n),空间复杂度O(n);
登录后发布评论
暂无评论,来抢沙发