Drill

ProblemsC# › data

Count the oversized gaps

mediumdataArraysC#

A service watchdog flags any two consecutive events that arrived further apart than a threshold.

TimestampsGaps(timestamps: list<int>, gapThreshold: int) → int

C# needs a compiler and Drill does not host one yet, so this page is the reference rather than an exercise: the problem, worked examples, and the solution in full. To type it out, the same problem runs in Python.

Solve it in Python →

Where you start

public int TimestampsGaps(List<int> timestamps, int gapThreshold) {
    
}

Worked examples

CallResult
TimestampsGaps(new List<int> { 0, 10, 11, 40 }, 10)1
TimestampsGaps(new List<int> { 0, 10, 11, 40 }, 5)2
TimestampsGaps(new List<int> { 0, 5, 10 }, 5)0
TimestampsGaps(new List<int> { 1, 100 }, 50)1

Hint

Compare each entry with the one before it and add to the count when the gap is too wide.

Reference solution in C#
public int TimestampsGaps(List<int> timestamps, int gapThreshold) {
    int count = 0;
    for (int i = 1; i < timestamps.Count; i++) {
        if (timestamps[i] - timestamps[i - 1] > gapThreshold) count++;
    }
    return count;
}

The same problem in another language

More data problems in C#