class Solution {
public:
static bool cmp(Interval &a,Interval &b)
{
return a.start<b.start;
}
vector<Interval> merge(vector<Interval>& intervals) {
vector<Interval> res;
if(intervals.size()==)return res;
sort(intervals.begin(),intervals.end(),cmp);
int i=;
int first=;
int j=first;
Interval tmpin;
while(i<intervals.size()){
//第一种情况比如:[1,2] [3,4]
if(intervals[i].start>intervals[j].end){tmpin.start=intervals[first].start;tmpin.end=intervals[j].end;res.push_back(tmpin);
first=i;
j=first;
i=i+;
} //第二种 比如: [2,6] [3,7]
else if(intervals[i].start<=intervals[j].end&&intervals[i].end>intervals[j].end)
{
i++;
j=i-;
}
//第三种 比如: [2,6] [1,3]
else
{
i++;
} }
if(intervals[j].end>=intervals[i-].end) {tmpin.start=intervals[first].start;tmpin.end=intervals[j].end;res.push_back(tmpin);}
else{tmpin.start=intervals[first].start;tmpin.end=intervals[i-].end;res.push_back(tmpin);}
return res;
}
};

Merge Intervals 运行比较快的更多相关文章

  1. LeetCode: Merge Intervals 解题报告

    Merge IntervalsGiven a collection of intervals, merge all overlapping intervals. For example,Given [ ...

  2. 【leetcode】Merge Intervals

    Merge Intervals Given a collection of intervals, merge all overlapping intervals. For example,Given  ...

  3. 【leetcode】Merge Intervals(hard)

    Given a collection of intervals, merge all overlapping intervals. For example,Given [1,3],[2,6],[8,1 ...

  4. 60. Insert Interval && Merge Intervals

    Insert Interval Given a set of non-overlapping intervals, insert a new interval into the intervals ( ...

  5. 【题解】【区间】【二分查找】【Leetcode】Insert Interval & Merge Intervals

    Given a set of non-overlapping intervals, insert a new interval into the intervals (merge if necessa ...

  6. [Leetcode][Python]56: Merge Intervals

    # -*- coding: utf8 -*-'''__author__ = 'dabay.wang@gmail.com' 56: Merge Intervalshttps://oj.leetcode. ...

  7. [array] leetcode-56. Merge Intervals - Medium

    leetcode-56. Merge Intervals - Medium descrition Given a collection of intervals, merge all overlapp ...

  8. 【leetcode】 Merge Intervals

    Merge Intervals Given a collection of intervals, merge all overlapping intervals. For example,Given  ...

  9. Insert Interval & Merge Intervals

    Insert Intervals Given a non-overlapping interval list which is sorted by start point. Insert a new ...

随机推荐

  1. Python学习二(生成器和八皇后算法)

    看书看到迭代器和生成器了,一般的使用是没什么问题的,不过很多时候并不能用的很习惯 书中例举了经典的八皇后问题,作为一个程序员怎么能够放过做题的机会呢,于是乎先自己来一遍,于是有了下面这个ugly的代码 ...

  2. leetcode 198

    198. House Robber You are a professional robber planning to rob houses along a street. Each house ha ...

  3. Div添加阴影效果

    -moz-box-shadow: 2px 2px 10px #909090;/*firefox*/ -webkit-box-shadow: 2px 2px 10px #909090;/*safari或 ...

  4. GET与POST的区别

    转自http://blog.csdn.net/darxin/article/details/4944225#comments HTTP请求的GET与POST方式的本质区别可以参考hyddd在<浅 ...

  5. 初识Android NDK

    本文介绍Windows环境下搭建Android NDK开发环境,并创建一个简单的使用Native代码的Android Application. 一.环境搭建 二.JNI函数绑定 三.例子 一.环境搭建 ...

  6. 用VC进行COM编程所必须掌握的理论知识

    一.为什么要用COM 软件工程发展到今天,从一开始的结构化编程,到面向对象编程,再到现在的COM编程,目标只有一个,就是希望软件能象积方块一样是累起来的,是组装起来的,而不是一点点编出来的.结构化编程 ...

  7. EntityFramework+MySql 笔记2

    话说刚刚配置好环境,刚刚写了几行代码,迫不及待地运行,duang! 踏进了第一个坑 看代码 static void Main(string[] args) { Database.SetInitiali ...

  8. Ext.get Ext.getDom Ext.getCmp 的区别

    Html DOM     Ext Element   Component Component 最高层 Html DOM 最基础 Ext.getCmp  是  Ext.ComponentMgr.get ...

  9. spring mvc学习笔记二:@RequestMapping

    @RequestMapping RequestMapping是一个用来处理请求地址映射的注解,可用于类或方法上.用于类上,表示类中的所有响应请求的方法都是以该地址作为父路径. @RequestMapp ...

  10. Android_SQLite版本升级,降级 管理

    今天我们主要学习了数据库版本升级对软件的管理操作. 我们手机经常会收到xxx软件升级什么的提醒,你的软件版本更新,同时你的数据库对应的版本也要相应的更新. 数据库版本更新需要主要的问题: 软件的1.0 ...