HDOJ2083 简易版之最短距离
2017-11-19 20:11
260 查看
题目链接:简易版之最短距离
题意就是: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);
}
}
}
题意就是: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);
}
}
}
相关文章推荐
- HDOJ 2083 简易版之最短距离
- hdoj 2083 简易版之最短距离
- HDOJ 2083 简易版之最短距离
- HDOJ(HDU) 2083 简易版之最短距离(中位数)
- HDOJ(HDU) 2083 简易版之最短距离(中位数)
- HDOJ 2083 简易版之最短距离
- hdoj 简易版之最短距离 2083 (取中位数)水
- hdoj 2083 简易版之最短距离
- hdoj 2083 简易版之最短距离
- hdoj.2083 简易版之最短距离 20140801
- HDOJ---2083 简易版之最短距离
- 【杭电oj】2083 - 简易版之最短距离(最短距离)
- HDU 2083 简易版之最短距离
- HDU 2083 简易版之最短距离
- 2083:简易版之最短距离
- hdu 2083 简易版之最短距离
- HDU 2083 简易版之最短距离 --- 水题
- HDU 2083 简易版之最短距离
- HDU:2083 简易版之最短距离(水)
- hdu 2083 简易版之最短距离