文章
163
粉丝
0
获赞
1
访问
37.0k

评分及理由
(1)得分及理由(满分4分)
学生给出的基本设计思想是使用两层循环遍历数组,对于每个A[i],通过内层循环计算与所有A[j](j≥i)的乘积并取最大值。虽然思路正确,但该算法的时间复杂度为O(n²),并非题目要求的“尽可能高效”的算法(标准答案的O(n)算法更高效)。由于题目并未强制要求必须达到O(n),且该思路能正确解决问题,因此不扣分。得4分。
(2)得分及理由(满分7分)
学生根据设计思想给出了C语言代码实现,使用了两层循环,正确计算了每个A[i]与后续元素乘积的最大值,并将结果存入res[i]。代码逻辑正确,能够实现题目要求的功能。但需要注意,第一次识别结果中时间复杂度写为O(n)是错误的(第二次识别已修正为O(n²)),但代码本身无逻辑错误。根据评分规则,代码实现正确,得7分。
(3)得分及理由(满分2分)
学生第二次识别结果正确给出了时间复杂度O(n²)和空间复杂度O(1)。分析正确,得2分。
题目总分:4+7+2=13分
登录后发布评论
暂无评论,来抢沙发