文章

40

粉丝

0

获赞

7

访问

3.8k

头像
【2013年】408计算机统考真题模拟考试 - 第41题答案笔记
数据结构
发布于2025年5月16日 09:34
阅读数 87

计算机考研408统考历年真题及答案解析

(1) 设置一个长度为n的数组B,B[i]代表值为i的元素个数,遍历一遍A并统计每一个值的数量,当某个值数量超过n/2时,便返回该元素;若统计完成依旧没有输出主元素,则返回-1。
(2) 使用Java,代码如下:
public int solution(int[] A, int n) {
    int[] B = new int[n];

    for (int i = 0; i < A.length; i++) {
        B[A[i]]++;    // 元素值为A[i],那么对应的统计数量就+1

        if (B[A[i]] > n / 2) {
            return A[i];    当某个值数量超过n/2时,便返回该元素

        }
    }

    return -1;    // 统计完成依旧没有输出主元素,则返回-1
}

(3) 时间复杂度:O(n),空间复杂度:O(n)

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发