文章
85
粉丝
0
获赞
2
访问
3.5k
评分及理由
(1)得分及理由(满分4分)
得分:4分
理由:学生的基本设计思想正确,与标准答案一致。通过快速排序的划分思想找到中位数(即第n/2小的元素),将数组划分为前n/2小的元素和剩余元素两部分,满足|n1-n2|最小且|S1-S2|最大的要求。思路清晰,描述准确。
(2)得分及理由(满分9分)
得分:7分
理由:
while (low < high && pivot < A[high])
和 while (low < high && pivot > A[low])
应该改为 while (low < high && pivot <= A[high])
和 while (low < high && pivot >= A[low])
(或调整符号方向),否则可能无法正确处理重复元素或导致死循环。标准答案中使用了>=和<=,这里使用了>和<,逻辑不严谨,扣1分。(3)得分及理由(满分2分)
得分:1分
理由:学生正确给出了平均时间复杂度为O(n),但空间复杂度为O(log n)(递归栈深度),而标准答案中空间复杂度为O(1)(使用迭代而非递归)。虽然学生的方法空间复杂度较高,但题目要求“尽可能高效”,且递归实现是常见方法,因此不扣满分,扣1分。
题目总分:4+7+1=12分
登录后发布评论
暂无评论,来抢沙发