文章
179
粉丝
0
获赞
0
访问
7.8k
评分及理由
(1)得分及理由(满分4分)
学生作答的基本设计思想是:利用双指针法,通过比较A和B序列中的元素,每次移动较小元素的指针,直到找到第n个元素作为中位数。这种方法思路正确,能够解决问题,但与标准答案的二分查找方法不同。根据评分要求,思路正确不扣分。因此,本部分得4分。
(2)得分及理由(满分9分)
学生提供的代码实现了双指针法,但存在逻辑错误:在循环结束后,直接比较A[i]和B[j]并返回较小值,这并不能保证返回的是第n个元素(即中位数)。因为循环结束时,i和j的移动次数总和为n,但A[i]和B[j]的大小关系不确定,直接返回较小值可能错误。例如,当A序列全部小于B序列时,循环结束后i=n,j=0,此时A[i]可能越界,且返回的值不是中位数。代码逻辑错误,扣分。考虑到思路正确但实现有误,扣5分。本部分得4分。
(3)得分及理由(满分2分)
学生正确分析了时间复杂度为O(n)和空间复杂度为O(1),与双指针法一致。因此,本部分得2分。
题目总分:4+4+2=10分
登录后发布评论
暂无评论,来抢沙发