当前位置: 代码迷 >> 综合 >> 2020-08-10阿里笔试 水塔位置
  详细解决方案

2020-08-10阿里笔试 水塔位置

热度:44   发布时间:2024-02-09 07:40:29.0

邮局选址问题(水塔位置)
放置一个邮局, 使这一个邮局到每个位置的距离之和最短

【代码】100%

/** 一个邮局的选址问题* 使一个邮局到每个位置的距离之和最短*/
import java.util.Arrays;
import java.util.Scanner;
public class 阿里_1 {public static void main(String[] args) {Scanner scanner=new Scanner(System.in);int n=scanner.nextInt();int a[]=new int[n];for(int i=0;i<n;i++) {a[i]=scanner.nextInt();}System.out.println(minDis(a));}static long minDis(int []a) {long minSum=0;Arrays.parallelSort(a);int l=0,r=a.length-1;while(l<r) {minSum+=(long)a[r--]-(long)a[l++];}return minSum;}
}