Izzy_yang 2016-09-12 12:09 采纳率: 66.7%
浏览 2021
已采纳

java面试题目面试题目

Robin和Lily非常喜欢开车,他们经常讨论谁开的更好更快。现在有一条公路,起点
是0公里,终点是100公里。这条公路被划分为N段,每一段有不同的限速。现在他们从A公里处开始,到B公里处结束。请帮他们计算在不超过限速的情况下,最少需要多少时间完成这段路程。
输入:
1、第一行为公路划分的段数N
2、接下来N行,每行三个正整数,分别是起始点,终止点(前后两段一定保证是连续的),
和限速值(单位:公里/小时)
3、紧接是要计算的起始点A,和终止点B
输出:
1、输出为一行,即从A到B需要的最少时间(单位:小时),精确到小数点后两位
Sample Input:
4
0 30 10
30 40 20
40 80 20
80 100 5
20 60
Sample Output:
2.50

  • 写回答

5条回答

  • 当作看不见 2016-09-12 13:52
    关注

    直接上代码了,自己看一下吧

     import java.util.Scanner;
    
    
    import java.util.*;
    public class test {
        static float time=0;
    
        /**
         * @param args
         */
        public static void main(String[] args) {
            // TODO Auto-generated method stub
             Scanner sc = new Scanner(System.in);
             int N =Integer.parseInt((String)sc.nextLine())+1;
             String[] str=new String[N];
             String[] str1;
    
             for(int i=0;;i++){
                 str[i]= (String) sc.nextLine();
                 str1=str[i].split(" ");
                 if(str1.length==2){
                     break;
                 }
             }
             String str2=str[str.length-1];
             int begin=Integer.parseInt(str2.split(" ")[0]);
             int end  =Integer.parseInt(str2.split(" ")[1]);
             System.out.println(end+"  "+begin);
             check(str, begin, end);
        }
        public static void check(String[] str,int begin,int end){
            float f,f1,speed;
            String str1;
            for(int i=0;i<str.length;i++){
                str1=str[i];
                f=Integer.parseInt(str1.split(" ")[0]);
                f1=Integer.parseInt(str1.split(" ")[1]);
                speed=Integer.parseInt(str1.split(" ")[2]);
                if(begin>f&&begin<f1&&end>f1){
                    time+=(f1-begin)/speed;
                }
                else if(end<=f1){
                    time+=(end-f)/speed;
                    break;
                }
                else{
                    time+=(f1-f)/speed;
                }
            }
            System.out.print(time);
        }
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

悬赏问题

  • ¥15 sqlite 附加(attach database)加密数据库时,返回26是什么原因呢?
  • ¥88 找成都本地经验丰富懂小程序开发的技术大咖
  • ¥15 如何处理复杂数据表格的除法运算
  • ¥15 如何用stc8h1k08的片子做485数据透传的功能?(关键词-串口)
  • ¥15 有兄弟姐妹会用word插图功能制作类似citespace的图片吗?
  • ¥200 uniapp长期运行卡死问题解决
  • ¥15 请教:如何用postman调用本地虚拟机区块链接上的合约?
  • ¥15 为什么使用javacv转封装rtsp为rtmp时出现如下问题:[h264 @ 000000004faf7500]no frame?
  • ¥15 乘性高斯噪声在深度学习网络中的应用
  • ¥15 关于docker部署flink集成hadoop的yarn,请教个问题 flink启动yarn-session.sh连不上hadoop,这个整了好几天一直不行,求帮忙看一下怎么解决