2026年全国硕士研究生招生考试将于12月20日至21日举行,倒计时26天!今天给大家整理了最新的2009-2025年考研计算机408真题试卷及答案解析,PDF高清电子版,可免费下载打印。链接:https://pan.quark.cn/s/f3b25ad0b19f
复制以上链接打开「夸克」APP,即可下载
如果不弹保存页面,就在夸克里搜索复制的链接
或者点击文章末尾左下角“阅读原文”直接保存
41、有两个长度均为 n 的一维整型数组 A[n]、res[n],计算 A[i] 与A[j] (0≤i≤j≤n-1)乘积的最大值,并将结果保存到 res[i] 中。例如:A = {1, 4, -9, 6},则 res = {6, 24, 81, 36}。
现给定数组 A,请设计时间空间上尽可能高效的算法 CalMulMax,求 res 中各元素的值。
函数原型:void CalMulMax(int A[], int res[], int n)。
2. 用C/C++描述算法关键之处给出注释。(7分) 分析:题目要求对每个元素 A[i] 计算它与之后所有元素 A[j] ( j ≥ i ) 的乘积最大值,考查对双层循环优化与动态规划思想的掌握。直观解法为 O(n²) 暴力遍历,但优秀解法需从右向左遍历,实时记录当前最大 A[j] 值,以 O(n) 时间完成计算。