1class Solution {2public int videoStitching(int[][] clips, int time) {3Arrays.sort(clips, (x, y) -> x[0] == y[0] ? y[1] - x[1] : x[0] - y[0]);4int n = clips.length;5int interval[] = new int[2];6int cuts = 0;7while (true) {8cuts++;9int can_reach = 0;10for (int i = interval[0]; i <= interval[1]; i++) {11int j = 0;12while (j < n) {13if (clips[j][0] < i) {14j++;15} else if (clips[j][0] == i) {16can_reach = Math.max(can_reach, clips[j][1]);17j++;18} else {19break;20}21}22if (can_reach >= time) return cuts;23}24interval[0] = interval[1] + 1;25interval[1] = can_reach;26if (interval[0] > interval[1]) return -1;27}28}29}