LeetCode Problem Workspace

Calculate Delayed Arrival Time

Calculate the new arrival time of a delayed train in 24-hour format by using basic math operations.

category

1

Topics

code_blocks

6

Code langs

hub

3

Related

Practice Focus

Easy · Math-driven solution strategy

bolt

Answer-first summary

Calculate the new arrival time of a delayed train in 24-hour format by using basic math operations.

Interview AiBox logo

Ace coding interviews with Interview AiBox guidance for Math-driven solution strategy

Try AiBox Copilotarrow_forward

To solve this problem, simply add the delayed time to the original arrival time. If the sum exceeds 24 hours, use modulo arithmetic to wrap it around to the next day. The result will give you the train's final arrival time in 24-hour format.

Problem Statement

You are given two integers: arrivalTime and delayedTime, representing the original arrival time and the delay in hours respectively. Both times are in the 24-hour format.

Your task is to return the final arrival time after applying the delay. Ensure that if the sum of arrivalTime and delayedTime exceeds 24, the time should correctly wrap around using the 24-hour format.

Examples

Example 1

Input: arrivalTime = 15, delayedTime = 5

Output: 20

Arrival time of the train was 15:00 hours. It is delayed by 5 hours. Now it will reach at 15+5 = 20 (20:00 hours).

Example 2

Input: arrivalTime = 13, delayedTime = 11

Output: 0

Arrival time of the train was 13:00 hours. It is delayed by 11 hours. Now it will reach at 13+11=24 (Which is denoted by 00:00 in 24 hours format so return 0).

Constraints

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

Solution Approach

Basic Addition

The first step is to add the delayed time to the arrival time. This gives an intermediate result, which can be a value greater than 24 hours.

Modulo Operation

If the resulting time exceeds 24, use the modulo operator. This ensures that any time exceeding 24 is wrapped around correctly in the 24-hour format.

Returning the Result

Finally, return the adjusted time as the result, which is the new arrival time after considering the delay.

Complexity Analysis

Metric Value
Time Depends on the final approach
Space Depends on the final approach

The time complexity of this problem is O(1) since we are only performing basic arithmetic and modulo operations. The space complexity is also O(1) as we are only using a constant amount of extra space for the calculations.

What Interviewers Usually Probe

  • Check if the candidate correctly uses modulo arithmetic when handling times that exceed 24.
  • Look for a clear understanding of the 24-hour clock system and time wrapping.
  • Test the candidate's ability to use basic math operations to solve the problem efficiently.

Common Pitfalls or Variants

Common pitfalls

  • Failing to handle the wrapping correctly when the sum exceeds 24 hours.
  • Not using modulo arithmetic to adjust the time.
  • Returning incorrect results for times that wrap around past midnight, such as 23 + 3 = 2.

Follow-up variants

  • Changing the format of input times, e.g., from 24-hour format to 12-hour format.
  • Introducing multiple delays or considering days of the week.
  • Handling larger time ranges or applying delays greater than 24 hours.

FAQ

What is the main pattern in solving the "Calculate Delayed Arrival Time" problem?

The main pattern is using modulo arithmetic to adjust the final time when the sum of arrival time and delay exceeds 24 hours.

How do I handle arrival times that exceed 24 hours?

Use the modulo operator to ensure that any time greater than 24 hours correctly wraps around, reflecting the next day's time.

What is the significance of the 24-hour format in this problem?

The 24-hour format requires the final time to be wrapped around using modulo arithmetic if the total time exceeds 24.

Can the delayed time be greater than 24 hours?

No, the problem constraints specify that the delayed time is between 1 and 24 hours, inclusive.

What is the expected time complexity of the solution?

The time complexity is O(1) as the solution involves basic arithmetic operations, with no loops or recursion.

terminal

Solution

Solution 1

#### Python3

1
2
3
class Solution:
    def findDelayedArrivalTime(self, arrivalTime: int, delayedTime: int) -> int:
        return (arrivalTime + delayedTime) % 24
Calculate Delayed Arrival Time Solution: Math-driven solution strategy | LeetCode #2651 Easy