【数学】【排序】对若干个区间进行合并
来源:互联网 发布:nginx luajit 编辑:程序博客网 时间:2024/04/28 22:17
题目:EPI
typedef int TimeType;class Interval{public:TimeType left,right;bool isleftclosed,isrightclosed;Interval(const TimeType &a,const TimeType &b,const bool l,const bool r):left(a),right(b),isleftclosed(l),isrightclosed(r){}bool operator<(const Interval &a){if(left!=a.left)return left<a.left;else if(isleftclosed!=a.isleftclosed)return isleftclosed;else{if(right!=a.right)return right<a.right;else if(isrightclosed!=a.isrightclosed)return isrightclosed;elsereturn false;//相等的时候返回假}}};vector<Interval> union_intervals(vector<Interval> A){if(A.size()<=1)return A;sort(A.begin(),A.end());vector<Interval> res;Interval cur=A[0];for(int i=0;i<A.size();i++){//两个if语句的逻辑关系要理清楚if(A[i].left<cur.right || (A[i].left==cur.right && (A[i].isleftclosed || cur.isrightclosed))){if(A[i].right>cur.right || (A[i].right==cur.right && A[i].isrightclosed))//不要忘了!cur.right=A[i].right;}else{res.push_back(cur);cur=A[i];}}res.push_back(cur);//不要忘了!return res;}
0 0
- 【数学】【排序】对若干个区间进行合并
- C++ 【对若干个区间进行合并】
- 56. Merge Intervals 对区间进行合并
- 对0到n^3-1区间内的n个整数进行排序
- SOJ-2500(IP过滤,对区间排序,合并区间,然后对区间二分查找)
- dom4j对多个xml进行合并
- 对俩个有序数组合并排序
- sort对结构体进行排序(区间排序)
- (p112)在O(n)时间内,对0到n^3-1区间内的n个整数进行排序
- 对多个字符串进行排序问题!
- 对多个Excel表中的数据进行合并计算
- C++如何合并若干个vector
- hdu 5481(数学期望+区间合并)
- lintCode-给出若干闭合区间,合并所有重叠的部分。
- 堆排序示例:对n个整数进行排序.
- 归并排序对n个元素进行递增排序
- 自动生成50个在[10,50]区间内的数字,对每个出现的数字进行排序,并打印出来
- Flex 对集合的多个字段进行排序
- Foundation 相关
- iOS开发网络篇—JSON数据的解析
- Lucene高亮显示详解
- 关于C++ const 总结
- Android开发之监听或获取手机短信内容
- 【数学】【排序】对若干个区间进行合并
- 8/20uS含义
- Win7 环境weblogic用户名和密码忘记解决方法
- 建造者模式
- opencv入门一
- 【jQWidgets】日历支持中文插件
- 【Android】自定义View EdgeEffect效果 ----ScrollView部分源代码剖析
- SSH pager-taglib分页的实现 具体使用方法 分页pager
- cetentos 6.5 安装mysql