
You are given a series of video clips from a sporting event that lasted time seconds. These video clips can be overlapping with each other and have varying lengths.
Each video clip is described by an array clips where clips[i] = [start _i , end _i ] indicates that the ith clip started at start _i and ended at end _i .
We can cut these clips into segments freely.
For example, a clip [0, 7] can be cut into segments [0, 1] + [1, 3] + [3, 7] .
Return the minimum number of clips needed so that we can cut the clips into segments that cover the entire sporting event [0, time] . If the task is impossible, return -1 .
1 <= clips.length <= 1000 <= start _i <= end _i <= 1001 <= time <= 100