网易实习生笔试,错误分析

终于到周末啦!小易走在市区的街道上准备找朋友聚会,突然服务器发来警报,小易需要立即回公司修复这个紧急bug。假设市区是一个无限大的区域,每条街道假设坐标是(X,Y),小易当前在(0,0)街道,办公室在(gx,gy)街道上。小易周围有多个出租车打车点,小易赶去办公室有两种选择,一种就是走路去公司,另外一种就是走到一个出租车打车点,然后从打车点的位置坐出租车去公司。每次移动到相邻的街道(横向或者纵向)走路将会花费walkTime时间,打车将花费taxiTime时间。小易需要尽快赶到公司去,现在小易想知道他最快需要花费多少时间去公司。 



import java.util.ArrayList;
import java.util.Scanner;
import java.lang.Math;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int num = sc.nextInt();
        String filter = sc.nextLine();
        int[] totalTime = new int[num];
        ArrayList<int[]> position = new ArrayList<>();
        for (int i = 0; i < num ; i++) {
            String s = sc.nextLine();
            int[] sArray = toIntArray(s);
            position.add(sArray);
        }
        String office = sc.nextLine();
        int[] officeArray = toIntArray(office);

        String cost = sc.nextLine();
        int[] costArray = toIntArray(cost);

        for (int i = 0; i < position.size() ; i++) {
            int waltTime = 0;
            int taxiTime = 0;
            int[] taxiPosition = position.get(i);
            waltTime += costArray[0] * (Math.abs(taxiPosition[0]) + Math.abs(taxiPosition[1]));
            int officeToTaxiDistance = Math.abs(taxiPosition[0] - officeArray[0]) + Math.abs(taxiPosition[1] - officeArray[1]);
            taxiTime += costArray[1] * officeToTaxiDistance;
            totalTime[i] = waltTime + taxiTime;
        }

        int outputTime = getMin(totalTime);
        System.out.println(outputTime);
    }



    public static int[] toIntArray(String array){
        int[] intArray =new int[array.length()];
        String[] newArray = array.split(" ");
        for (int i = 0; i < newArray.length ; i++) {
            intArray[i] = Integer.parseInt(newArray[i]);
        }
        return  intArray;
    }

    public static int getMin(int[] array){
        int minIndex = 0;
        for (int j = 1; j < array.length; j++) {
            if(array[minIndex] > array[j]){
                minIndex = j;
            }
        }
        return array[minIndex];
    }
}


您的代码已保存
请检查是否存在数组越界等非法访问情况
case通过率为0.00%

急求,谢谢
全部评论
为什么会看上去这么复杂的样子 下次发代码用MD样式
点赞 回复 分享
发布于 2017-03-31 16:11
可以直接nextInt()得到数组啊,不要把问题搞麻烦了
点赞 回复 分享
发布于 2017-03-31 17:33

相关推荐

hso_:哈哈哈哈哈哈我没offer一样在同一道题开喷了
投递深圳同为数码等公司10个岗位
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务