class Solution {
public:
int eraseOverlapIntervals(vector<vector<int>>& intervals) {
if (intervals.size() == 0) return 0;
sort(intervals.begin(), intervals.end(), [](auto &a,auto &b){return a[0]<b[0];});
int count = 0;
for (int i = 1; i < intervals.size(); i++)
{
if (intervals[i][0] < intervals[i - 1][1])
{
intervals[i][1] = min(intervals[i - 1][1], intervals[i][1]);
count++;
}
}
return count;
}
};
763划分字母区间
class Solution {
public:
vector<int> partitionLabels(string S)
{
int hash[27] = {0};
for (int i = 0; i < S.size(); i++)
{
hash[S[i] - 'a'] = i;
}
vector<int> result;
int left = 0;
int right = 0;
for (int i = 0; i < S.size(); i++)
{
right = max(right, hash[S[i] - 'a']);
if (i == right) {
result.push_back(right - left + 1);
left = i + 1;
}
}
return result;
}
};