(Greedy) leetcode

Ideas:

 

 

 

class Solution {
public:
    //自定义比较函数,按照后端点排序
    static bool cmp(vector<int>& a, vector<int>& b){
        return a[1] < b[1];
    }
    
    int eraseOverlapIntervals(vector<vector<int>>& intervals) {
        int count = 0;
        sort(intervals.begin(), intervals.end(), cmp);
        for(int i=0; i<intervals.size(); ){
            int right = intervals[i][1];  //右端点
            int j = i+1;
            while(j < intervals.size() && intervals[j][0] < right){
                // 后面区间的左端点小于该区间的右端点
                j++;
                count++;
            } 
            i = j;
        }
        return count;
    }
};

 

Guess you like

Origin www.cnblogs.com/Bella2017/p/11238671.html