路燈最短距離

題目:一條長l的筆直的街道上有n個路燈,若這條街的起點爲0,終點爲l,第i個路燈座標爲ai ,每盞燈可以覆蓋到的最遠距離爲d,爲了照明需求,所有燈的燈光必須覆蓋整條街,但是爲了省電,要是這個d最小,請找到這個最小的d。

import java.util.*;

import java.text.DecimalFormat;
import java.math.BigDecimal;
public class Main {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
int n=sc.nextInt();//燈的個數
int length=sc.nextInt();//路的長度
int[] location=new int[n];//燈的位置
for(int i=0;i<n;i++){
location[i]=sc.nextInt();
}
//關閉輸入流
sc.close();
//將路燈的位置排序
Arrays.sort(location);
double max=location[0];//第一個位置到0座標的距離
double temp=length-location[n-1];//最後一個燈到末尾的距離
if(temp>max){
max=temp;
}
for(int i=1;i<n;i++){
double stemp=(location[i]-location[i-1])/2;
if(stemp>max){
max=stemp;
}
}
        BigDecimal bigDecimal=new BigDecimal(max);
        System.out.println(bigDecimal.setScale(2));
}
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章