1.LeetCode1024题目链接
https://leetcode-cn.com/problems/video-stitching/
2.题目解析
该题只要是为了找到一些片段中能够组成该视频的最少的片段,首先我们需要找到最大或最小值,该题中,我们可以先找到包含最小值到片段,然后选出包含最小值的片段中最大到哪个位置,然后找到包含这个位置的的片段中最大的位置,依次找到T,也就是视频末尾。
public int videoStitching(int[][] clips, int T) {
//次数
int count = 0;
//每次需要的最大值
int max = 0;
while (max < T) {
//切片最大值
int slice = 0;
for (int[] c : clips) {
if (c[0] <= max && c[1] >= max) {
//多个包含去最大
slice = Math.max(slice, c[1]);
}
}
if (slice <= max) {
return -1;
}
max = slice;
++count;
}
return count;
}