文章
172
粉丝
0
获赞
1
访问
16.3k

评分及理由
(1)得分及理由(满分4分)
得分:3分
理由:学生的基本设计思想正确,通过使用辅助数组统计每个元素的出现次数,然后遍历查找出现次数超过n/2的元素。这种方法能够正确找出主元素,思路清晰。但相比标准答案的摩尔投票法,这种方法需要额外的O(n)空间复杂度,没有达到"尽可能高效"的要求(标准答案的空间复杂度为O(1)),因此扣1分。
(2)得分及理由(满分7分)
得分:5分
理由:算法实现基本正确,能够完成主元素的查找功能。但存在以下问题:
1. 函数声明为void类型但返回了0,应该改为int类型函数(扣1分)
2. memset(B, 0, sizeof(int))应该改为memset(B, 0, sizeof(B)),否则只能初始化第一个元素(扣1分)
3. 代码逻辑正确,能够实现统计和查找功能
(3)得分及理由(满分2分)
得分:2分
理由:对时间复杂度和空间复杂度的分析完全正确。时间复杂度为O(n),需要两次遍历;空间复杂度为O(n),需要额外的辅助数组。
题目总分:3+5+2=10分
登录后发布评论
暂无评论,来抢沙发