zoukankan      html  css  js  c++  java
  • leetcode

    Given a collection of intervals, merge all overlapping intervals.

    For example,
    Given [1,3],[2,6],[8,10],[15,18],
    return [1,6],[8,10],[15,18].

    bool operator < (const Interval &a, const Interval &b){ return a.start < b.start;}
    class Solution {
    public:
        std::vector<Interval> merge(std::vector<Interval> &intervals) {
            if(intervals.size() == 0) return intervals;
    		std::vector<Interval> res;
    		std::sort(intervals.begin(),intervals.end());
    		int left = intervals[0].start,right = intervals[0].end;
    		for (int i = 1; i < intervals.size(); i++)
    		{
    			if(intervals[i].start <= right)
    			{
    				right = std::max(right,intervals[i].end);
    			}
    			else
    			{
    				res.push_back(Interval(left,right));
    				left = intervals[i].start;
    				right = intervals[i].end;
    			}
    		}
    		res.push_back(Interval(left,right));
    		return res;
        }
    };


    版权声明:本文博主原创文章,博客,未经同意不得转载。

  • 相关阅读:
    mongdb
    网络编程
    分布式锁与事务
    mongodb
    Angular4
    思考
    kafka
    Spark总结
    你不知道的javaScript笔记(1)
    vue2.0 配置 选项 属性 方法 事件 ——速查
  • 原文地址:https://www.cnblogs.com/bhlsheji/p/4853419.html
Copyright © 2011-2022 走看看