15-5小C的外卖超时判断
小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"
def time_to_minutes(time: str) -> int:"""将时间字符串转换为从午夜起的分钟数"""hours, minutes = map(int, time.split(':'))return hours * 60 + minutesdef solution(t1: str, t2: str, t3: str) -> str:# 将时间字符串转换为分钟t1_minutes = time_to_minutes(t1)t2_minutes = time_to_minutes(t2)t3_minutes = time_to_minutes(t3)# 处理跨天的情况if t2_minutes < t1_minutes:t2_minutes += 24 * 60 # 如果预计时间在t1的前面,增加一天的分钟数if t3_minutes < t1_minutes:t3_minutes += 24 * 60 # 如果实际送达时间在t1的前面,增加一天的分钟数# 判断是否超时if t3_minutes > t2_minutes:return "Yes"else:return "No"if __name__ == '__main__':print(solution("18:00", "19:05", "19:05") == 'No') # 输出: Trueprint(solution("23:00", "00:21", "00:23") == 'Yes') # 输出: Trueprint(solution("23:05", "00:05", "23:58") == 'No') # 输出: True