文章
302
粉丝
0
获赞
15
访问
143.1k

评分及理由
(1)得分及理由(满分4分)
得2分。学生的算法设计思想是使用辅助数组统计每个元素的出现次数,当某个元素的计数超过n/2时立即返回。这种思路能够正确找出主元素,但相比标准答案的摩尔投票法,空间复杂度较高(O(n) vs O(1))。由于题目要求"尽可能高效的算法",而学生的算法在空间效率上不够优化,因此扣2分。但基本思路正确,能够解决问题。
(2)得分及理由(满分7分)
得5分。代码实现基本正确,逻辑清晰,能够正确统计元素出现次数并判断主元素。扣分原因:①使用了变长数组int B[n],这在某些C++标准中不是最佳实践;②算法空间复杂度较高,不符合"尽可能高效"的要求;③没有考虑0≤a_i (3)得分及理由(满分2分) 得2分。学生正确分析了算法的时间复杂度为O(n)和空间复杂度为O(n),与算法实现一致,分析准确。 题目总分:2+5+2=9分
登录后发布评论
暂无评论,来抢沙发