文章
110
粉丝
0
获赞
0
访问
7.4k

评分及理由
(1)得分及理由(满分3分)
得分:2分
理由:学生的基本设计思想是创建一个辅助数组来标记出现的正整数,思路正确。但描述中"对A中出现的正整数计数"不够准确,实际是标记出现与否而非计数,且未说明如何处理非正整数的情况。相比标准答案中利用原数组进行标记的方法,该思路需要额外空间,但算法思想基本正确。
(2)得分及理由(满分8分)
得分:5分
理由:代码实现存在以下逻辑错误:
1. 第二个for循环中使用了while循环,这会导致死循环,应该使用if判断
2. 循环条件i < n + 1会导致数组越界,应该改为i < n
3. 函数参数应该是int A[]而不是int A
代码整体框架正确,创建辅助数组的思路可行,但上述逻辑错误影响了算法的正确性。
(3)得分及理由(满分2分)
得分:2分
理由:时间复杂度和空间复杂度的分析完全正确。算法的时间复杂度为O(n),空间复杂度为O(n),与标准答案分析一致。
题目总分:2+5+2=9分
登录后发布评论
暂无评论,来抢沙发