文章

78

粉丝

0

获赞

0

访问

7.9k

头像
2013年计算机学科专业基础综合试题 - 第41题回答
数据结构
发布于2025年9月26日 16:37
阅读数 56

(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);

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发