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