classSolution{publicintvideoStitching(int[][] clips,int T){if(clips == null){return-1;}//贪心算法//寻找每个子区间起点的最大到达距离,存放到maxEnd数组中int[] maxEnd =newint[T];for(int[] clip : clips){if(clip[0]< T){
maxEnd[clip[0]]= Math.max(maxEnd[clip[0]],clip[1]);}}//定义三个临时变量int pre =0;//当前位置的前一个int last =0;int count =0;for(int i =0; i < T ; i++){
last = Math.max(maxEnd[i],last);if(i == last){return-1;}if( i == pre){
count++;
pre = last ;}}return count ;}}