目录
题目
思路
Code
题目
题目内容:
有 n 个 AI 推理任务按顺序排队,第 i 个任务需占用 vram[i] GB 显存;调度器可选定一个任务 i 为基准,向左右连续合并相邻任务(即连续子数组),合并条件是被合并任务的显存占用不低于 vram[i]。
已知任务的并行执行额度值 = vram[i] × 任务个数(满足条件的连续子数组长度);对于给定的任务序列 vram,请计算该序列中可达到的并行额度最大值是多少。
输入描述:
本题为核心代码模式,你需要实现函数 maxTaskVram(vram)。
参数 vram 为整数数组,长度为 n,1 ≤ n ≤ 10^5,0 ≤ vram[i] ≤ 10^4。
输出描述:
返回任务的并行执行额度最大值。
样例1
输入:
vram = [2,1,5,6,2,3]输出:
10思路
整体思路:
固定某个显存值为基准时,应尽量扩展左右范围,直到遇到更小的显存值。问题等价于寻找连续区间的最小值乘区间长度的最大结果,可用单调栈一次扫描完成。
第一步:<