合并区间
来源:互联网 发布:淘宝818会有活动吗 编辑:程序博客网 时间:2024/06/04 18:53
给出若干闭合区间,合并所有重叠的部分。
给出的区间列表 => 合并后的区间列表:
[ [ [1, 3], [1, 6], [2, 6], => [8, 10], [8, 10], [15, 18] [15, 18] ]
]
代码:/** * Definition of Interval: * classs Interval { * int start, end; * Interval(int start, int end) { * this->start = start; * this->end = end; * } */class Solution {public: /** * @param intervals: interval list. * @return: A new interval list. */ static bool cmp(const Interval &a, const Interval &b) { return a.start < b.start; } vector<Interval> merge(vector<Interval> &intervals) { // write your code here vector<Interval> qq; int n = intervals.size(); if (n < 1) { return qq; } sort(intervals.begin(), intervals.end(), cmp); int left = intervals[0].start; int right = intervals[0].end; for (int i = 1; i < n; i++) { if (intervals[i].start <= right) { right = max(right, intervals[i].end); } else { qq.push_back(Interval(left, right)); left = intervals[i].start; right = intervals[i].end; } } qq.push_back(Interval(left, right)); return qq; } };
感想:本题难点在于先按照区间第一个数字大小排序,然后写一个比较函数来判断区间是否重叠,若重叠,则在一个新的数组中加上修改后的数组,直到没有
重叠的区间。
- 区间合并
- 合并区间
- 合并区间
- 合并区间
- 合并区间
- 合并区间
- 合并区间
- 合并区间
- 区间合并
- 区间合并
- 区间合并
- 区间合并
- 合并区间
- 合并区间
- 合并区间
- 合并区间
- 合并区间
- 合并区间
- 【Qarth框架系列】事件系统
- 硬链接与软链接
- Matab与C混合编程 C_MEX函数编写
- java,静态变量和局部变量
- Qt5.9.1 + VS2015 + QtCreator 环境搭建
- 合并区间
- Linux文件系统性能优化
- Spring中的@Transactional 放在 类级别 和 方法级别 上有什么不同?
- Moviebooking电影售票系统--活动图
- FastDFS单机版图片服务器
- Android实现简易计步器功能,隔天步数清零,查看历史运动纪录
- 淘淘商城系列——spring与freemarker的整合
- CSS之REM和EM的区别
- 如何在 Mac 上或 Linux 上安装woboq codebrowser