classSolution { public: intremoveCoveredIntervals(vector<vector<int>>& intervals){ int n=intervals.size(); sort(intervals.begin(), intervals.end()); int res=0; int l = intervals[0][0]; //左端点 int r = intervals[0][1]; //右端点
for(int i=1;i<n;i++){ //下一个区间覆盖上一个 if(intervals[i][0]>=l && intervals[i][1]<=r){ res++; } //上一个区间覆盖下一个 elseif(intervals[i][0]==l && intervals[i][1]>=r){ res++; l = intervals[i][0]; r = intervals[i][1]; } //下一个区间和上一个区间相交或者没有交集 else{ l = intervals[i][0]; r = intervals[i][1]; } } return n-res; } };