LeetCode 2651: Calculate Delayed Arrival Time (Mod-24 Clock Arithmetic)
LeetCode 2651MathSimulationToday we solve LeetCode 2651 - Calculate Delayed Arrival Time.
Source: https://leetcode.com/problems/calculate-delayed-arrival-time/
English
Problem Summary
Given arrivalTime and delayedTime (both in hours), return the train's final arrival hour on a 24-hour clock.
Key Insight
Clock time wraps every 24 hours. So we only need: (arrivalTime + delayedTime) % 24.
Algorithm
- Add the two integers.
- Apply modulo 24 to handle wrap-around.
- Return the result.
Complexity Analysis
Time: O(1).
Space: O(1).
Reference Implementations (Java / Go / C++ / Python / JavaScript)
class Solution {
public int findDelayedArrivalTime(int arrivalTime, int delayedTime) {
return (arrivalTime + delayedTime) % 24;
}
}func findDelayedArrivalTime(arrivalTime int, delayedTime int) int {
return (arrivalTime + delayedTime) % 24
}class Solution {
public:
int findDelayedArrivalTime(int arrivalTime, int delayedTime) {
return (arrivalTime + delayedTime) % 24;
}
};class Solution:
def findDelayedArrivalTime(self, arrivalTime: int, delayedTime: int) -> int:
return (arrivalTime + delayedTime) % 24var findDelayedArrivalTime = function(arrivalTime, delayedTime) {
return (arrivalTime + delayedTime) % 24;
};中文
题目概述
给定 arrivalTime(原到达时刻)和 delayedTime(延误小时数),返回列车在 24 小时制下的最终到达小时。
核心思路
24 小时制本质是一个长度为 24 的环。时间相加后如果超过 23,就从 0 重新开始,所以直接对 24 取模即可。
算法步骤
- 先计算 arrivalTime + delayedTime。
- 对 24 取模完成回绕。
- 返回结果。
复杂度分析
时间复杂度:O(1)。
空间复杂度:O(1)。
多语言参考实现(Java / Go / C++ / Python / JavaScript)
class Solution {
public int findDelayedArrivalTime(int arrivalTime, int delayedTime) {
return (arrivalTime + delayedTime) % 24;
}
}func findDelayedArrivalTime(arrivalTime int, delayedTime int) int {
return (arrivalTime + delayedTime) % 24
}class Solution {
public:
int findDelayedArrivalTime(int arrivalTime, int delayedTime) {
return (arrivalTime + delayedTime) % 24;
}
};class Solution:
def findDelayedArrivalTime(self, arrivalTime: int, delayedTime: int) -> int:
return (arrivalTime + delayedTime) % 24var findDelayedArrivalTime = function(arrivalTime, delayedTime) {
return (arrivalTime + delayedTime) % 24;
};
Comments