文章
578
粉丝
0
获赞
2
访问
44.5k
评分及理由
(1)得分及理由(满分4分)
得分:0分
理由:学生算法的基本思想是使用双重循环遍历数组,为每个A[i]找到与所有A[j](包括j=i到n-1)乘积的最大值。但题目要求的是A[i]与A[j](其中i≤j≤n-1)乘积的最大值,而学生的代码中内层循环j从0到N-1,包含了j
(2)得分及理由(满分7分)
得分:0分
理由:代码存在多处逻辑错误:
1. 内层循环j从0到N-1,包含了j
2. 初始化max=0有问题,当所有乘积都为负数时,最大值应该是负数而不是0
3. 变量k是多余的,可以直接使用res[i]
4. 代码没有处理负数相乘可能产生最大值的情况
5. 算法效率低下,时间复杂度为O(n²),不符合题目要求的"时间空间上尽可能高效"
(3)得分及理由(满分2分)
得分:1分
理由:时间复杂度分析正确为O(N²),但空间复杂度分析存在矛盾。学生先说O(1),后又说如果考虑res数组为O(N)。按照常规分析,不考虑输入输出数组的空间复杂度应为O(1),但学生表述不够准确。
题目总分:0+0+1=1分
登录后发布评论
暂无评论,来抢沙发