Problem · Array
Request Retry Count
Learn this problemProblem statement
An integer gap defines the maximum allowed time difference, in seconds, to consider a retry.
Two arrays are provided:
requestIds, where each element represents the request ID of a logtimestamps, where each element represents the time of the corresponding log, sorted in non-decreasing order
A retry occurs when two consecutive logs for the same request ID have a time difference of at most gap.
Compute the total number of retries across all request IDs and return the result.
Function
getRetryCount(gap: int, requestIds: String[], timestamps: int[]) → intExamples
Example 1
gap = 10requestIds = ["r1", "r1", "r1", "r2", "r2"]timestamps = [100, 105, 200, 300, 302]return = 2The table below shows the total number of retries for each request ID:
| Request ID | Timestamps | Retry Pairs | Retry Count |
|---|---|---|---|
r1 | [100, 105, 200] | (100, 105) | 1 |
r2 | [300, 302] | (300, 302) | 1 |
The total number of retries = 1 + 1 = 2.
Hence, the answer is 2.
Constraints
1 ≤ gap ≤ 10^91 ≤ n ≤ 2 * 10^60 ≤ timestamps[i] ≤ 10^9