文章

2

粉丝

0

获赞

0

访问

110

头像
2025年计算机学科专业基础综合试题 - 第41题回答
数据结构
发布于2025年10月6日 11:52
阅读数 63

1.先创建数组Max[n],将A遍历,利用双指针记录Max[i]为A[i]右侧的最大数,再遍历res[i]=A[i]*Max[i]

2. void CallMulMax(int A[], int res[],int n){

     int Max[n],j=0;

      for(int i=

 

 

3.时间和空间复杂度都为O(n)


评分及理由

(1)得分及理由(满分4分)

得分:1分

理由:学生提出的基本思想是"利用双指针记录Max[i]为A[i]右侧的最大数",这个思路只能处理正数情况,但题目示例中包含负数(A[]={1,4,-9,6}),当存在负数时,最大值可能来自当前元素与最小值的乘积。学生没有考虑负数情况,算法思想不完整,存在逻辑缺陷。因此扣3分。

(2)得分及理由(满分7分)

得分:0分

理由:学生提供的代码不完整,只有函数声明和部分变量定义,没有完整的算法实现。代码中缺少关键的双指针逻辑和乘积计算过程,无法判断具体实现是否正确。根据评分标准,代码不完整不能得分。

(3)得分及理由(满分2分)

得分:1分

理由:学生正确指出了时间复杂度为O(n),但空间复杂度分析不准确。学生使用了额外的Max[n]数组,空间复杂度应为O(n),而不是O(1)。因此扣1分。

题目总分:1+0+1=2分

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发