1. 程式人生 > >leetcode +貪心經典題目,區間覆蓋

leetcode +貪心經典題目,區間覆蓋

點選開啟連結
//貪心 區間覆蓋
struct Interval {
    int start;
    int end;
    Interval() : start(0), end(0) {}
    Interval(int s, int e) : start(s), end(e) {}
};
bool cmp(Interval&x , Interval& y)
{
    if(x.end< y.end) return x.end<y.end;
    else if(x.end==y.end) return x.start<=y.start;
    return false;
}
class Solution {
public:
    int eraseOverlapIntervals(vector<Interval>& intervals) {
        int size = intervals.size();
        if(size==0) return 0;
        int count =0; //移除的區間數
        sort(intervals.begin(), intervals.end(),cmp);
        int g = intervals[0].end;
        for(int i=1; i<size; i++){
            if(intervals[i].start<g){
                count +=1;
            }
            else g = intervals[i].end;
        }
        return count;
    }
};
int main()
{
    return 0;
}