按照end从小到大的顺序排序,观察前后interval是否有重叠:
int eraseOverlapIntervals(vector<Interval>& intervals) {
sort(intervals.begin(),intervals.end(),comp);
int ans=0;
for(int i=0;i<intervals.size();)
{
int j=i+1;
while(j<intervals.size()&&intervals[j].start<intervals[i].end)
{
ans++;
j++;
}
i=j;
}
return ans;
}
static bool comp(Interval A, Interval B)
{
if(A.end != B.end)
return A.end < B.end ;
if(A.start != B.start)
return A.start < B.start;
return 1;
}