Problem · Array
Minimum Number of Taps to Water a Garden
Learn this problemProblem statement
A one-dimensional garden covers the closed interval [0, n]. Tap i waters [i - ranges[i], i + ranges[i]], clipped to the garden.
Return the minimum number of taps needed to water every point in [0, n]. Return -1 if complete coverage is impossible.
Function
minimumTaps(n: int, ranges: int[]) → intExamples
Example 1
n = 5ranges = [3,4,1,1,0,0]return = 1Tap 1 covers the whole interval [0,5].
Example 2
n = 3ranges = [0,0,0,0]return = -1No tap covers a positive-length interval.
Constraints
1 <= n <= 100000ranges.length == n + 10 <= ranges[i] <= n