您的位置:首页 > 编程语言

网易2018校招在线编程题-第二题

2017-08-12 17:30 405 查看
package com.neitui.demo2;

import java.util.Arrays;
import java.util.Scanner;

public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt(); //棋子个数
int[] x = new int
; //横坐标数组`
int[] y = new int
; //纵坐标数组
//赋值
for(int i = 0;i<n;i++){
x[i]=sc.nextInt();
}
for(int i = 0;i<n;i++){
y[i]=sc.nextInt();
}
for(int i = 0;i<n;i++){
System.out.print(syso(i, x, y)+" ");
}
}
public static int[] getResult(int i,int[] arrx,int[] arry){
int[] result = new int[arrx.length]; //返回结果,为其他点到这个点的距离,数组
for(int j=0;j<arrx.length;j++){
if(j!=i) {
result[j] = Math.abs(arrx[i]-arrx[j])+Math.abs(arry[i]-arry[j]);
}else{
result[j] = 0;
}
}
Arrays.sort(result);
return result;
}
public static int getSum(int i,int[] vaule){
int result =0 ;
for(int j = 0;j<=i;j++){
result+=vaule[j];
}
return result;
}
public static int syso(int i,int[] arrx,int[] arry){
int count = 0;
int k =0;
int[] js = new int[arrx.length];
for(int j=0;j<arrx.length;j++){
js[j] = getSum(i, getResult(k, arrx,arry));
k=k+1;
}
Arrays.sort(js);
count = js[0];
return count;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: