题目

小C点了一个外卖,并且急切地等待着骑手的送达。她想知道她的外卖是否超时了。

已知小C在时刻 t1 点了外卖,外卖平台上显示的预计送达时间为 t2,而实际送达时间为 t3。需要判断外卖是否超时。如果外卖超时,则输出 “Yes”;否则输出 “No”。

实际送达时间与预计送达时间在 2 小时之内。
测试样例

示例 1:

输入:t1 = "18:00", t2 = "19:05", t3 = "19:05"
输出:No

示例 2:

输入:t1 = "23:00", t2 = "00:21", t3 = "00:23"
输出:Yes

示例 3:

输入:t1 = "23:05", t2 = "00:05", t3 = "23:58"
输出:No

思路

由于时间是以字符串形式给出的,格式为 “HH:MM”,我们可以使用 LocalTime 类来处理时间。
解析时间字符串:将 t1, t2, t3 转换为 LocalTime 对象。
比较时间:
如果 t3 在 t2 之后,则外卖超时。
否则,外卖未超时。
时间解析:使用 LocalTime.parse() 方法将字符串转换为 LocalTime 对象。
时间比较:使用 isAfter() 方法判断 t3 是否在 t2 之后。

代码

import java.time.LocalTime;

public class Main {
public static String solution(String t1, String t2, String t3) {
// 将时间字符串转换为 LocalTime 对象
LocalTime time1 = LocalTime.parse(t1);
LocalTime time2 = LocalTime.parse(t2);
LocalTime time3 = LocalTime.parse(t3);

    // 判断是否超时
    if (time3.isAfter(time2)) {
        return "Yes";
    } else {
        return "No";
    }
}

public static void main(String[] args) {
    System.out.println(solution("18:00", "19:05", "19:05").equals("No"));
    System.out.println(solution("23:00", "00:21", "00:23").equals("Yes"));
    System.out.println(solution("23:05", "00:05", "23:58").equals("No"));
}

}

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐