博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
leetcode - Insert Interval
阅读量:4554 次
发布时间:2019-06-08

本文共 1730 字,大约阅读时间需要 5 分钟。

题目描述:点击

1 /** 2  * Definition for an interval. 3  * struct Interval { 4  *     int start; 5  *     int end; 6  *     Interval() : start(0), end(0) {} 7  *     Interval(int s, int e) : start(s), end(e) {} 8  * }; 9  */10 class Solution {11 public:12   vector
insert(vector
&intervals, Interval newInterval) {13 // Start typing your C/C++ solution below14 // DO NOT write int main() function15 int maxN = 1000000000;16 vector
rlt;17 if (intervals.empty()){18 rlt.push_back(newInterval);19 return rlt;20 }21 intervals.push_back(newInterval);22 vector
::iterator vi;23 vector
::iterator pos =intervals.end()-1;24 for (vi=intervals.end()-1-1; vi+1!=intervals.begin(); vi--){25 if ((*vi).start>(*(vi+1)).start){26 pos = vi;27 Interval tmp = * vi;28 *vi = *(vi+1);29 *(vi+1) = tmp;30 }31 }32 for (vi = pos-1; vi+1!=intervals.begin(); vi--){33 if ( (*vi).end>=(*pos).start ){34 (*pos).start = (*vi).start;35 (*pos).end = (*pos).end > (*vi).end ? (*pos).end : (*vi).end;36 (*vi).start = maxN;37 }38 else break;39 }40 for (vi = pos+1; vi!=intervals.end(); vi++){41 if ( (*vi).start<=(*pos).end ){42 (*pos).end = (*pos).end > (*vi).end ? (*pos).end : (*vi).end;43 (*vi).start = maxN;44 }45 else break;46 }47 for (vi = intervals.begin(); vi!=intervals.end(); vi++){48 if ((*vi).start != maxN)49 rlt.push_back(*vi);50 }51 return rlt;52 }53 };

 

 

转载于:https://www.cnblogs.com/zhanghs/archive/2013/04/19/3030257.html

你可能感兴趣的文章
xe7 控件升级
查看>>
TFrame bug
查看>>
刚学习的如何才能自信的拍美美的婚纱照呢(要结婚啦)
查看>>
M51文件注释
查看>>
关于临界资源访问互斥量的死锁问题
查看>>
django-view层
查看>>
异步加载JS的方法。
查看>>
golang-gorm框架支持mysql json类型
查看>>
【tool】白盒测试
查看>>
图论其一:图的存储
查看>>
20180923-WebService
查看>>
z变换
查看>>
Python - 静态函数(staticmethod), 类函数(classmethod), 成员函数
查看>>
Spring基础2
查看>>
【灵异短篇】这个夜晚有点凉
查看>>
一点小问题
查看>>
pytest 10 skip跳过测试用例
查看>>
MVC身份验证及权限管理
查看>>
It was not possible to find any compatible framework version
查看>>
gulp与webpack的区别
查看>>