原题链接:https://leetcode-cn.com/problems/video-stitching/
贪心算法
int videoStitching(vector<vector<int>>& clips, int T) {
map<int,int> clip_map;
for(auto clip:clips){//将cilps放map里,去重+排序
if(clip_map.count(clip[0])){
if(clip[1]>clip_map[clip[0]]){
clip_map[clip[0]]=clip[1];
}
}else{
clip_map[clip[0]]=clip[1];
}
}
int ans=1;
int i=0,j=clip_map[0];
int next_i=i,next_j=j;//下一次的i,j
bool flag;//如果没有找到下一次的i,j就返回-1
while(j<T){
flag=true;
for(int k=i+1;k<=j;k++){
if(clip_map.count(k)){
if(clip_map[k]>next_j){//找下一次的i,j
flag=false;
next_i=k;
next_j=clip_map[k];
}
}
}
if(flag) return -1;
i=next_i;
j=next_j;
ans++;
}
return ans;
}