Я новичок в cpp. Я только что увидел новый способ написания компаратора для сортировки с использованием этого []
, так что толку это здесь, потому что когда я определял компаратор обычным способом, я получал ошибку, подобную этой
Редактировать: ошибка
/code/Solution.cpp:22:52: error: invalid use of non-static member function
sort(intervals.begin(),intervals.end(),comp);
bool comp(vector<int>&v1, vector<int>&v2) {
return v1[1] < v2[1];
}
Оригинальный и законный способ здесь
class Solution {
public:
int eraseOverlapIntervals(vector<vector<int>>& intervals) {
sort(intervals.begin(), intervals.end(), [](auto &a, auto &b) {
return a[1] < b[1];
});
int prev = INT_MIN;
int ans = 0;
for (auto &it : intervals) {
if (it[0] >= prev) {
prev = it[1];
}
else
++ans;
}
return ans;
}
};