博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Merge Intervals
阅读量:6115 次
发布时间:2019-06-21

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

代码:

1 #include
2 #include
3 #include
4 5 using namespace std; 6 7 struct Interval { 8 int start; 9 int end;10 Interval() : start(0), end(0) {}11 Interval(int s, int e) : start(s), end(e) {}12 };13 14 bool compare(Interval &a, Interval &b)15 {16 return a.start < b.start;17 }18 19 vector
merge(vector
& intervals) 20 {21 vector
result;22 sort(intervals.begin(), intervals.end(), compare);23 for (int i = 0; i < intervals.size()-1; i++)24 {25 if ((i+1!=intervals.size()-1)&&intervals[i].end >= intervals[i + 1].start)26 {27 intervals[i].end = intervals[i + 1].end;28 }29 else30 {31 result.push_back(intervals[i]);32 }33 }34 return result;35 }36 37 38 int main()39 {40 Interval I1(1,3);41 Interval I2(2,6);42 Interval I3(8, 10);43 Interval I4(15,18);44 vector
itervals;45 itervals.push_back(I1);46 itervals.push_back(I2);47 itervals.push_back(I3);48 itervals.push_back(I4);49 50 vector
result = merge(itervals);51 for (int i = 0; i < result.size(); i++)52 {53 cout << result[i].start << " " << result[i].end << endl;54 }55 }

 

转载于:https://www.cnblogs.com/chaiwentao/p/4646651.html

你可能感兴趣的文章
Eclipse和MyEclipse使用技巧--Eclipse中使用Git-让版本管理更简单
查看>>
[转]响应式表格jQuery插件 – Responsive tables
查看>>
8个3D视觉效果的HTML5动画欣赏
查看>>
C#如何在DataGridViewCell中自定义脚本编辑器
查看>>
【linux】crontab定时命令
查看>>
Android UI优化——include、merge 、ViewStub
查看>>
Office WORD如何取消开始工作右侧栏
查看>>
Android Jni调用浅述
查看>>
CodeCombat森林关卡Python代码
查看>>
第一个应用程序HelloWorld
查看>>
(二)Spring Boot 起步入门(翻译自Spring Boot官方教程文档)1.5.9.RELEASE
查看>>
Android Annotation扫盲笔记
查看>>
React 整洁代码最佳实践
查看>>
聊聊架构设计做些什么来谈如何成为架构师
查看>>
Java并发编程73道面试题及答案
查看>>
iOS知识小集·设置userAgent的那件小事
查看>>
移动端架构的几点思考
查看>>
Tomcat与Spring中的事件机制详解
查看>>
Spark综合使用及用户行为案例区域内热门商品统计分析实战-Spark商业应用实战...
查看>>
初学者自学前端须知
查看>>