Video Stitching
You are given a series of video clips from a sporting event that lastedTseconds. These video clips can be overlapping with each other and have varied lengths.
Each video clipclips[i] is an interval: it starts at timeclips[i][0]and ends at timeclips[i][1]. 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, T]). If the task is impossible, return-1.
Example 1:
Input:
clips =
[[0,2],[4,6],[8,10],[1,9],[1,5],[5,9]]
, T =
10
Output:
3
Explanation:
We take the clips [0,2], [8,10], [1,9]; a total of 3 clips.
Then, we can reconstruct the sporting event as follows:
We cut [1,9] into segments [1,2] + [2,8] + [8,9].
Now we have segments [0,2] + [2,8] + [8,10] which cover the sporting event [0, 10].Example 2:
Input:
clips =
[[0,1],[1,2]]
, T =
5
Output:
-1
Explanation:
We can't cover [0,5] with only [0,1] and [0,2].Example 3:
Example 4:
分析
DP存最小个数:一loop所有长度,内loop所有range,长度在range内的话的dp取最小。
dp存最远可达距离
贪心
Last updated
Was this helpful?