AlgoMooc
你已开通华为OD训练营权益,还差最后一步——完成入营激活(兑换课程 + 加飞书 + 登记服务群),即可解锁全部课程与专属服务。去激活 →
← 返回题库

P3001. 太阳能航天器

中等通过率 76% · 提交 287 · 通过 219
双指针贪心

小慕正在设计一个太阳能发电装置,需要在支架上安装长方形或正方形的太阳能板(图中红色斜线区域)。安装时,先要固定两个(图中黑色竖条),然后在支柱的中间区域安装太阳能板。但不同位置的支柱高度不同,太阳能板的实际安装面积受限于较短的那根支柱长度。 如图: ![](https://superblog-1257126549.cos.ap-guangzhou.myqcloud.com/202411120949999.PNG) 现在小慕得到一组整数数组,表示各个位置支柱的高度数据。假设每根支柱间的距离相等,为1个单位长度。请帮助小慕计算,如何选择两根支柱,才能使安装的太阳能板面积最大。

提示:带虚线的词点一下有通俗解释。

输入描述

<p> 10,9,8,7,6,5,4,3,2,1 </p> <p> 注:支柱至少有2根,最多10000根,能支持的高度范围1~10^9的整数。柱子的高度是无序的,例子中递减只是巧合。 </p>

输出描述

<p> 可以支持的最大太阳能板面积 </p> <p> 如:25(10米高支柱和5米高支柱之间) </p>

示例

示例 1

输入

10,9,8,7,6,5,4,3,2,1

输出

25

示例 2

输入

1,7,5,9

输出

14

说明:7*2=14

时间限制 1000 ms · 内存限制 128 MB

看不懂题目?点开图解
10 5 距离 = 3 单位 面积 = 5 × 3 = 15 双指针求最大太阳能板面积
写完代码点「提交」,将对全部测试用例判题。

向老师提问

针对「太阳能航天器」把疑问、代码和报错填清楚,老师收到后能更快、更准地回复你。