文章
278
粉丝
0
获赞
0
访问
37.1k

评分及理由
(1)得分及理由(满分4分)
得分:0分
理由:学生的基本设计思想是使用双重循环计算每个A[i]与所有A[j](0≤j≤n-1)的乘积,并取最大值。这与题目要求(0≤i≤j≤n-1)不符,因为题目要求j≥i,而学生的算法j从0到n-1,包含了j<i的情况,导致逻辑错误。标准答案采用从右向左遍历并维护最大值和最小值的方法,时间复杂度为O(n),而学生的思路时间复杂度为O(n²),效率较低且不符合题目要求。
(2)得分及理由(满分7分)
得分:0分
理由:代码实现基于错误的设计思想,双重循环中j的范围错误(应为j从i到n-1,但学生代码j从0到n-1),导致结果不正确。例如,对于A[]={1,4,-9,6},学生算法可能得到错误结果。此外,代码中未正确定义MIN_INT(应为INT_MIN或类似常量),但这是次要错误。核心逻辑错误导致算法无法正确求解res数组。
(3)得分及理由(满分2分)
得分:2分
理由:学生正确分析了算法的时间复杂度为O(n²)和空间复杂度为O(1),与代码实现一致,因此该部分得分。
题目总分:0+0+2=2分
登录后发布评论
暂无评论,来抢沙发