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

终于到周末啦!小易走在市区的街道上准备找朋友聚会,突然服务器发来警报,小易需要立即回公司修复这个紧急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

相关推荐

不愿透露姓名的神秘牛友
02-12 10:05
小米集团 算法工程师 28.0k*15.0
泡沫灬一触即破:楼上那个看来是看人拿高薪,自己又不如意搁这泄愤呢是吧,看你过往评论很难不怀疑你的精神状态
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
02-12 18:14
RT,这周五就是情人节了,前女友给我发了消息,我该不该回?
Yoswell:原则上来说让她滚,但是本着工作很累下班想吃瓜的心态,我觉得你可以回一下
点赞 评论 收藏
分享
黑皮白袜臭脚体育生:简历统一按使用了什么技术实现了什么功能解决了什么问题或提升了什么性能指标来写会更好
点赞 评论 收藏
分享
做人要有梦想dji:最新工位查看图片
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务