
class Solution {
public:
int eraseOverlapIntervals(vector<vector<int>>& intervals) {
if (intervals.empty()) {
return 0;
}
sort(intervals.begin(), intervals.end(), [](const auto& u, const auto& v) {
return u[1] < v[1];
});
int n = intervals.size();
int right = intervals[0][1];
int ans = 1;
for (int i = 1; i < n; ++i)
{
if (intervals[i][0] >= right)
{
ans++;
right = intervals[i][1];
}
}
return n - ans;
}
};
该博客介绍了一个C++实现的算法,用于计算并消除给定区间集合中的重叠部分。通过对区间按结束时间排序,可以高效地计算不重叠区间的数量。此算法适用于优化时间区间管理问题。
684

被折叠的 条评论
为什么被折叠?



