0
点赞
收藏
分享

微信扫一扫

HDOJ2083 简易版之最短距离


题目链接:​​简易版之最短距离​​

题意就是:ACBOY从某个朋友家里出发到每一个朋友的距离之和。

然而每次都是从一开始那个朋友那里出发的。

做法很简单,每一个点遍历一下就OK了,时间复杂度是O(n^2),照样AC。

下面代码:


import java.util.Scanner;

public class Main{
private static Scanner scanner;
public static void main(String[] args) {
scanner = new Scanner(System.in);
int n = scanner .nextInt();
while(n-->0){
int friendNum = scanner.nextInt();//朋友的个数
int[] friends = new int[friendNum];//坐标
for (int i = 0; i < friends.length; i++) {
friends[i] = scanner.nextInt();
}

int minDis = Integer.MAX_VALUE;//最小距离
for (int i = 0; i < friends.length; i++) {
int dis = 0;
for (int j = 0; j < friends.length; j++) {
dis += Math.abs(friends[j]-friends[i]);
}
if(dis<minDis){
minDis = dis;
}
}
System.out.println(minDis);
}
}
}



举报

相关推荐

0 条评论