文章
341
粉丝
0
获赞
3
访问
34.3k

评分及理由
(1)得分及理由(满分4分)
学生给出的基本设计思想与标准答案一致:从后向前扫描数组,对每个A[i]分别维护从i到n-1的最大值和最小值,并根据A[i]的正负性选择与最大值或最小值相乘。思路清晰完整,得4分。
(2)得分及理由(满分7分)
学生代码整体正确,但存在一处逻辑瑕疵:在更新MAX和Min的代码中,使用了else if,这会导致如果当前元素A[i]大于MAX,则不会更新Min,即使A[i]可能同时小于当前的Min(这种情况在从后向前遍历时,当A[i]是新的最大值且小于当前最小值时可能发生,但实际由于MAX和Min初始化为同一值且从后向前更新,这种情况不会出现,但逻辑上不够严谨)。不过,考虑到学生思路正确,代码功能能达到题目要求,且该瑕疵不影响最终结果,扣1分。得6分。
(3)得分及理由(满分2分)
学生正确分析了时间复杂度和空间复杂度,均为O(n)和O(1),得2分。
题目总分:4+6+2=12分
登录后发布评论
暂无评论,来抢沙发