跳转至

2651. 计算列车到站时间

题目描述

给你一个正整数 arrivalTime 表示列车正点到站的时间(单位:小时),另给你一个正整数 delayedTime 表示列车延误的小时数。

返回列车实际到站的时间。

注意,该问题中的时间采用 24 小时制。

 

示例 1:

输入:arrivalTime = 15, delayedTime = 5 
输出:20 
解释:列车正点到站时间是 15:00 ,延误 5 小时,所以列车实际到站的时间是 15 + 5 = 20(20:00)。

示例 2:

输入:arrivalTime = 13, delayedTime = 11
输出:0
解释:列车正点到站时间是 13:00 ,延误 11 小时,所以列车实际到站的时间是 13 + 11 = 24(在 24 小时制中表示为 00:00 ,所以返回 0)。

 

提示:

  • 1 <= arrivaltime < 24
  • 1 <= delayedTime <= 24

解法

方法一:数学

我们直接计算列车实际到站的时间,即为 $arrivalTime + delayedTime$,但是由于时间采用 24 小时制,所以我们需要对结果取模,即 $(arrivalTime + delayedTime) \bmod 24$。

时间复杂度 $O(1)$,空间复杂度 $O(1)$。

1
2
3
class Solution:
    def findDelayedArrivalTime(self, arrivalTime: int, delayedTime: int) -> int:
        return (arrivalTime + delayedTime) % 24
1
2
3
4
5
class Solution {
    public int findDelayedArrivalTime(int arrivalTime, int delayedTime) {
        return (arrivalTime + delayedTime) % 24;
    }
}
1
2
3
4
5
6
class Solution {
public:
    int findDelayedArrivalTime(int arrivalTime, int delayedTime) {
        return (arrivalTime + delayedTime) % 24;
    }
};
1
2
3
func findDelayedArrivalTime(arrivalTime int, delayedTime int) int {
    return (arrivalTime + delayedTime) % 24
}
1
2
3
function findDelayedArrivalTime(arrivalTime: number, delayedTime: number): number {
    return (arrivalTime + delayedTime) % 24;
}
1
2
3
4
5
impl Solution {
    pub fn find_delayed_arrival_time(arrival_time: i32, delayed_time: i32) -> i32 {
        (arrival_time + delayed_time) % 24
    }
}

评论