文章

83

粉丝

0

获赞

0

访问

6.3k

头像
2018年计算机学科专业基础综合试题 - 第41题回答
数据结构
发布于2025年10月20日 21:58
阅读数 60


评分及理由

(1)得分及理由(满分3分)

学生答案的基本设计思想是:使用一个辅助数组res来标记1到n范围内的正整数是否出现。思路正确,与标准答案的哈希思想类似,但实现方式不同。该思路能够解决问题,因此不扣分。得3分。

(2)得分及理由(满分8分)

学生代码存在以下逻辑错误:
1. 在第二个for循环中,当遇到a[i] <= 0 或 a[i] >= n 时使用了break语句,这会提前终止遍历,导致后续元素无法处理。应该使用continue而不是break。
2. 数组索引使用错误:res数组的大小为n,索引范围是0到n-1,但代码中直接使用res[a[i]] = 1,当a[i] = n时会出现数组越界。
3. 第三个for循环中,i从1开始到n,但res数组索引范围是0到n-1,当i=n时会出现数组越界。
4. 缺少对n+1情况的处理:当1到n都出现时,应该返回n+1,但代码中没有这种情况的处理。

由于存在多处逻辑错误,扣分较多。根据错误严重程度,扣4分。得4分。

(3)得分及理由(满分2分)

学生正确分析了时间复杂度和空间复杂度,均为O(n),分析正确。得2分。

题目总分:3+4+2=9分

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发