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 LiBeAs的带隙等于0.997eV,计算阴离子的N和P
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
  • ¥15 matlab有关常微分方程的问题求解决
  • ¥15 perl MISA分析p3_in脚本出错
  • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
  • ¥15 ubuntu虚拟机打包apk错误
  • ¥199 rust编程架构设计的方案 有偿
  • ¥15 回答4f系统的像差计算
  • ¥15 java如何提取出pdf里的文字?
  • ¥100 求三轴之间相互配合画圆以及直线的算法