文章
95
粉丝
50
获赞
1
访问
18.6k

评分及理由
(1)得分及理由(满分4分)
学生给出的基本设计思想是采用双重循环遍历的方法,将A[i]与A[j]两两相乘并比较最大值。这种方法虽然正确,但时间复杂度为O(n²),不是题目要求的"时间和空间上尽可能高效的算法"。标准答案采用O(n)时间复杂度的算法,从右向左遍历一次即可完成。由于学生的算法思想正确但效率不高,扣2分。
得分:2分
(2)得分及理由(满分7分)
学生给出的代码实现了双重循环遍历的方法:
但存在以下问题:
由于代码逻辑正确但效率不高,且缺少注释,扣3分。
得分:4分
(3)得分及理由(满分2分)
学生正确分析了算法的时间复杂度为O(n²)和空间复杂度为O(n)。时间复杂度分析正确,空间复杂度分析也正确(除了输入数组外,只使用了常数个额外变量,但输出数组res需要O(n)空间)。
得分:2分
题目总分:2+4+2=8分
登录后发布评论
暂无评论,来抢沙发