说起来这也算简单题, 第 1024 题纪念下.
const videoStitching = function (clips, T) {
let clipsArr = new Array(T + 1).fill(-1), lastCur = 0, cur = 0, res = 0;
for (let i = 0, clipsLen = clips.length; i < clipsLen; ++i) {
if (clips[i][1] > clipsArr[clips[i][0]]) {
clipsArr[clips[i][0]] = clips[i][1];
}
}
if (clipsArr[0] >= T) {
return 1;
}
if (clipsArr[0] === -1) {
return -1;
}
for (let i = 0, clipsArrLen = clipsArr.length; i < clipsArrLen; ++i) {
cur = Math.max(...clipsArr.slice(0, cur + 1));
++res;
if (cur >= T) {
return res;
}
}
return -1;
};