c++
class Solution {
public:
int removeCoveredIntervals(vector<vector<int>>& intervals) {
sort(intervals.begin(), intervals.end(),
[](const vector<int> &a, const vector<int> &b) ->bool {
if (a[0] - b[0]) return a[0] < b[0];
return a[1] > b[1];
});
int pre = -1, cnt = 0;
for (auto x : intervals) {
if (x[1] <= pre) cnt++;
pre = max(pre, x[1]);
}
return intervals.size() - cnt;
}
};
js
class Solution {
public:
int removeCoveredIntervals(vector<vector<int>>& intervals) {
sort(intervals.begin(), intervals.end(),
[](const vector<int> &a, const vector<int> &b) ->bool {
if (a[0] - b[0]) return a[0] < b[0];
return a[1] > b[1];
});
int pre = -1, cnt = 0;
for (auto x : intervals) {
if (x[1] <= pre) cnt++;
pre = max(pre, x[1]);
}
return intervals.size() - cnt;
}
};