给定长度为 n 的正整数数组 nums
,表示各连续频段的质量评分。
对任意一个连续非空子数组(组合),其「组合质量系数」定义为:
该组合内的最小质量评分 × 组合长度。
目标是求所有组合中该值的最大值。
这是经典问题:对每个元素把它当作组合中的最小值,尽量向左、向右扩展,直到遇到更小的元素为止。
这样该元素可主导的最大组合长度 = right[i] - left[i] - 1
,其中:
在 5G 网络规划中,运营商需要评估不同频段组合的资源利用率。每个频段有一个特定的带宽质量评分(数值越大表示质量越好)。当多个连续频段被组合使用时,它们的整体利用率由「组合质量系数」决定,该系数等于组合中最差频段的质量评分乘以组合的频段数量。
作为网络优化工程师,你需要计算所有可能的连续频段组合的利用率,找出其中最大的「组合质量系数」,从而确定最优的频段分配方案。
问题定义
给定一个整数数组 nums ,表示一系列连续频段的质量评分。计算所有可能的连续非空频段组合的「组合质量系数」,并返回其中的最大值。
连续非空频段组合:指一组连续的频段,例如频段质量序列 [1,2,3] 的组合包括:
[1]、[2]、[3]
[1,2]、[2,3]
[1,2,3]
组合质量系数:该组合中最低质量评分乘以频段数量。
第 1 行:整数 n ,表示频段数量 (1≤n≤10000) 。
第 2 ~ n+1 行:n 个整数,表示每个频段的质量评分 (1≤nums[i]≤10000) 。
一个整数,表示所有组合中最大的「组合质量系数」。
输入
2
1
2
输出
2
说明
组合 [1]→ 系数 =1×1=1
组合 [2]→ 系数 =2×1=2
组合 [1,2]→ 最低质量 =1 ,频段数 =2→ 系数 =1×2=2
最大系数为 2 ,来自 [2] 或 [1,2] 。
输入
3
5
3
4
输出
9
说明
组合 [5]→ 最低质量 =5 ,频段数 =1→ 系数 =5×1=5
组合 [5,3]→ 最低质量 =3 ,频段数 =2→ 系数 =3×2=6
组合 [5,3,4]→ 最低质量 =3 ,频段数 =3→ 系数 =3×3=9
组合 [3]→ 最低质量 =3 ,频段数 =1→ 系数 =3×1=3
组合 [3,4]→ 最低质量 =3 ,频段数 =2→ 系数 =3×2=6
组合 [4]→ 最低质量 =4 ,频段数 =1→ 系数 =4×1=4
最大系数为 9 ,来自组合 [5,3,4] 。