• 435. Non-overlapping Intervals


    Problem statement

    Given a collection of intervals, find the minimum number of intervals you need to remove to make the rest of the intervals non-overlapping.

    Note:

    1. You may assume the interval's end point is always bigger than its start point.
    2. Intervals like [1,2] and [2,3] have borders "touching" but they don't overlap each other.

    Example 1:

    Input: [ [1,2], [2,3], [3,4], [1,3] ]
    
    Output: 1
    
    Explanation: [1,3] can be removed and the rest of intervals are non-overlapping.

    Example 2:

    Input: [ [1,2], [1,2], [1,2] ]
    
    Output: 2
    
    Explanation: You need to remove two [1,2] to make the rest of intervals non-overlapping.

    Example 3:

    Input: [ [1,2], [2,3] ]
    
    Output: 0
    
    Explanation: You don't need to remove any of the intervals since they're already non-overlapping.

    Solution

    This is similar with 646. Maximum Length of Pair Chain.

    The only difference is the return value.

    /**
     * Definition for an interval.
     * struct Interval {
     *     int start;
     *     int end;
     *     Interval() : start(0), end(0) {}
     *     Interval(int s, int e) : start(s), end(e) {}
     * };
     */
    class Solution {
    public:
        int eraseOverlapIntervals(vector<Interval>& intervals) {
            if(intervals.empty()){
                return 0;
            }
            sort(intervals.begin(), intervals.end(), [](Interval l, Interval r) { return l.end < r.end ;});
            int len = 1;
            for(int i = 0, j = 1; j < intervals.size(); j++){
                if(intervals[i].end <= intervals[j].start){
                    len++;
                    i = j;
                }
            }
            return intervals.size() - len;
        }
    };
  • 相关阅读:
    每日日报2020.9.30 1905
    每日日报2020.10.7 1905
    每日日报2020.10.2 1905
    每日日报2020.9.28 1905
    程序员修炼之道:从小工到专家 九月读书心得 1905
    每日日报2020.9.27 1905
    每日日报2020.9.29 1905
    每日日报2020.10.6 1905
    每日日报2020.10.5 1905
    每日总结2
  • 原文地址:https://www.cnblogs.com/wdw828/p/7237381.html
Copyright © 2020-2023  润新知