题解 | #合并区间#

合并区间

http://www.nowcoder.com/practice/69f4e5b7ad284a478777cb2a17fb5e6a

闭区间的右部分,不断和后面的区间右部分比较并合并

class Solution {
public:
    static bool cmp(Interval& a, Interval& b){
        return a.start<b.start;
    }
    vector<Interval> merge(vector<Interval> &intervals) {
        //按区间左部分值排序
        sort(intervals.begin(), intervals.end(), cmp);
        vector<Interval> res;
        int i=0, n = intervals.size();
        while(i<n){
            int l = intervals[i].start;
            int r = intervals[i].end;
            while(i<n-1 && r >= intervals[i+1].start){
                r = max(intervals[i+1].end, r);
                i++;
            }
            res.push_back({l, r});
            i++;
        }
        return res;
    }
};
全部评论

相关推荐

10-11 15:42
皖西学院 Java
青鱼LINK:我硕士,也是java0面试,吾道不孤
点赞 评论 收藏
分享
牛客868257804号:九个中铁八个中建
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务