文章
164
粉丝
0
获赞
0
访问
8.2k
评分及理由
(1)得分及理由(满分4分)
得分:0分
理由:学生的设计思想是同时遍历两个数组,通过比较元素大小移动指针,当走到第L个位置时返回当前元素。这种方法实际上是寻找两个升序序列合并后的第L小元素,而不是题目要求的中位数。题目要求的是两个等长序列的中位数,应该是合并后的第n个元素(总长度为2n,中位数为第n个),而学生的算法返回的是第L个元素(即第n个),虽然结果正确,但思路描述不准确。更重要的是,这种方法的时间复杂度为O(n),而题目要求尽可能高效,标准答案的O(log₂n)更优。由于思路与高效算法不符,且未理解中位数的本质,扣4分。
(2)得分及理由(满分9分)
得分:3分
理由:代码实现了合并查找第L小元素的思路,能够正确返回两个等长升序序列的中位数。代码逻辑基本正确,使用了双指针遍历,空间复杂度O(1)符合要求。但存在以下问题:
由于代码能正确实现功能但效率不高,给予3分。
(3)得分及理由(满分2分)
得分:2分
理由:学生正确分析了算法的时间复杂度O(L)(即O(n))和空间复杂度O(1),分析准确完整,给予满分2分。
题目总分:0+3+2=5分
登录后发布评论
暂无评论,来抢沙发