这道题本身没啥好说的,但是提交后发现自己的用时和内存排名都很低,但只更改了一个地方,排名迅速地上升, [](vector a, vector b) 更换成了[](const auto& a, const auto& b),具体原理等学到C++的时候再补充。
class Solution {
public:
int eraseOverlapIntervals(vector<vector<int>>& intervals) {
if(intervals.empty()){
return 0;
}
sort(intervals.begin(),intervals.end(),[](const auto& a, const auto& b){return a[1] < b[1];});
int n = intervals.size();
int end = intervals[0][1];
int count = 0;
for(int i = 1;i < n;i++){
if(intervals[i][0] < end){
count++;
}
else{
end = intervals[i][1];
}
}
return count;
}
};