文章
62
粉丝
0
获赞
0
访问
1.6k

评分及理由
(1)得分及理由(满分4分)
得分:2分
理由:学生的基本设计思想是使用辅助数组进行计数统计,然后找到出现次数最多的元素。这种方法确实能够解决问题,但并不是题目要求的"尽可能高效的算法"。标准答案使用的是Boyer-Moore投票算法,时间复杂度为O(n),空间复杂度为O(1),而学生的方案空间复杂度为O(n),效率较低。不过思路本身是正确的,只是不够优化。
(2)得分及理由(满分7分)
得分:5分
理由:代码实现基本正确,能够完成主元素的查找功能。但存在以下问题:
1. 逻辑错误:最后判断条件应该是"c > n/2"而不是"s > n/2",这里s是元素值,c才是计数(2分)
2. 代码中变量命名不一致,第一次识别中变量名为c和s,第二次识别中为C和S,但这是识别问题,不扣分
3. 算法虽然正确但不够高效,与标准答案相比效率较低
(3)得分及理由(满分2分)
得分:2分
理由:对时间复杂度和空间复杂度的分析完全正确。时间复杂度O(3n)=O(n),空间复杂度O(n)的分析准确。
题目总分:2+5+2=9分
登录后发布评论
暂无评论,来抢沙发