文章
299
粉丝
0
获赞
0
访问
29.2k

评分及理由
(1)得分及理由(满分3分)
学生给出的基本设计思想是:构建一个大小为 n+1 的辅助数组,用于标记正整数是否出现,最后查找第一个未标记的位置。该思路正确,能够解决问题,且时间复杂度为 O(n),空间复杂度为 O(n)。虽然与标准答案(原地标记法)不同,但根据“思路正确不扣分”原则,此处不扣分。得3分。
(2)得分及理由(满分8分)
学生给出了 C 语言代码,但存在以下逻辑错误:
if (S[i] >= 0) { A[i] = 1; },这里应该是 A[S[i]] = 1,即将正整数 S[i] 作为索引进行标记,而不是用循环变量 i 作为索引。这是一个明显的逻辑错误,会导致结果错误。由于存在上述逻辑错误,扣分。根据错误严重程度,扣4分。得4分。
(3)得分及理由(满分2分)
学生正确给出了时间复杂度 O(n) 和空间复杂度 O(n),与算法设计一致。得2分。
题目总分:3+4+2=9分
登录后发布评论
暂无评论,来抢沙发