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;
        }
    };


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

  • 相关阅读:
    JavaScript -- 条件语句和循环语句
    xpath的|
    Pythonic
    4k图片爬取+中文乱码
    xpath-房价爬取
    (.*?)实验室
    模块的循环导入
    bs4-爬取小说
    糗图-图片爬取
    re实战记录
  • 原文地址:https://www.cnblogs.com/bhlsheji/p/4853419.html
Copyright © 2011-2022 走看看