一、题目描述
在一条笔直的公路上安装了N个路灯,从位置0开始安装,路灯之间间距固定为100米。
每个路灯都有自己的照明半径,请计算第一个路灯和最后一个路灯之间,无法照明的区间的长度和。
二、输入描述
第一行为一个数N,表示路灯个数,1<=N<=100000。
第二行为N个空格分隔的数,表示路径的照明半径,1<=照明半径<=100000*100。
三、输出描述
第一个路灯和最后一个路灯之间,无法照明的区间的长度和。
四、解题思路
题目要求计算第一个路灯和最后一个路灯之间无法照明的区间的长度和。
例如:
3
20 70 30
路灯1 覆盖0-20
路灯2 覆盖30-170
路灯3 覆盖170-230
没被覆盖的区间只有20~30。
所以输出10。

但是,如果路灯的照明范围大于100,怎么办?
本文介绍了华为OD机试中的一道Java编程题,涉及路灯照明问题的解决方案。题目要求计算在固定间隔的路灯下,无法被照明的区间长度和。解题思路包括使用Java Stream处理照明半径,通过排序找到照明间隙,最终得出黑暗距离之和。感谢fly晨提供的优质算法。
订阅专栏 解锁全文
749





