文章

2

粉丝

0

获赞

1

访问

115

头像
2025 年 5 月第 1 次 408 月考试卷 - 第41题回答
数据结构
发布于2025年6月21日 15:08
阅读数 58

(1)

利用异或运算,因为成对出现的数字异或之后为0,最后只有单独出现的异或结果为1

(2)


int FindOnlyOne(int arr[r] , int n ) {
    int ans = 0 ;
    for(int i = 0 ; i <= n ; i++) {
        ans ^= arr[i]; // 给所有元素进行异或
}
    return ans; // 剩下的就是只出现一次的元素
}

(3) O(N)


评分及理由

(1)得分及理由(满分3分)

得分:1分

理由:学生提出了使用异或运算的思路,虽然方法可行,但与题目要求的"相同元素一定相邻"这一条件不符。题目明确要求利用相邻特性设计算法,而学生的思路没有利用这一关键条件。

(2)得分及理由(满分8分)

得分:4分

理由:代码实现了异或运算的思路,但存在以下问题:1) 函数参数定义错误(arr[r]应为arr[]),2) 循环条件错误(i<=n应为i

(3)得分及理由(满分2分)

得分:2分

理由:时间复杂度分析正确,为O(N)。

题目总分:1+4+2=7分

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发