合并区间
来源:互联网 发布:rhino mac授权码 编辑:程序博客网 时间:2024/06/05 06:17
问题描述:
给出若干闭合区间,合并所有重叠的部分。
样例:
给出的区间列表 => 合并后的区间列表:
[ [ [1, 3], [1, 6], [2, 6], => [8, 10], [8, 10], [15, 18] [15, 18] ]]
解题思路:
按strat从小到大排序,然后用循环判断是否可以合并,合并之后删除多余的区间。
代码:
/** * Definition of Interval: * classs Interval { * int start, end; * Interval(int start, int end) { * this->start = start; * this->end = end; * } */ bool comp(const Interval &a, const Interval &b) { return a.start< b.start; }class Solution {public: vector<Interval> merge(vector<Interval> &intervals) { // write your code here if (intervals.size()== 0||intervals.size()== 1) return intervals; sort(intervals.begin(), intervals.end(), comp); for (int i= 1; i< intervals.size(); i++) { if (intervals[i].start<= intervals[i-1].end) { if (intervals[i].end> intervals[i-1].end) { intervals[i-1].end=intervals[i].end; intervals.erase(intervals.begin()+i); i--; } else {intervals.erase(intervals.begin()+i); i--;} } } return intervals; }};
感想:
sort 函数的比较函数不能在类里定义。
阅读全文
0 0
- 区间合并
- 合并区间
- 合并区间
- 合并区间
- 合并区间
- 合并区间
- 合并区间
- 合并区间
- 区间合并
- 区间合并
- 区间合并
- 区间合并
- 合并区间
- 合并区间
- 合并区间
- 合并区间
- 合并区间
- 合并区间
- Android MediaPlayer与SeekBar和Chronometer的简单结合
- 安卓自定义view仿小米商城购物车动画
- LeetCodeOJ_002: Add Two Numbers
- 2017-06-08大数据工作
- 【怎样写代码】函数式编程 -- Lambda表达式(一):引出
- 合并区间
- pca的最大方差理论解释
- 关于opencv的Mat类型的imwrite()函数写入.jpg图像像素值会改变的解决方案
- 方法和构造器的区别
- 解决IE禁止第三方Cookie
- [jvm]对象的创建
- #游戏unity#协程
- Android Studio的gradle项目构建
- 14.c++输入cin,cerr,clog。