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

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

Description:

Given a collection of intervals, merge all overlapping intervals.

For example,

Given [1,3],[2,6],[8,10],[15,18],
return [1,6],[8,10],[15,18].

Code:

int partition(vector
& intervals, int low, int high) { Interval key(intervals[low].start, intervals[low].end); while (low
=key.start)--high; intervals[low].start = intervals[high].start; intervals[low].end = intervals[high].end; while (low < high && intervals[low].start<=key.start)++low; intervals[high].start = intervals[low].start; intervals[high].end = intervals[low].end; } intervals[low].start = key.start; intervals[low].end = key.end; return low; } void quickSort(vector
& intervals, int low, int high) { if (low < high) { int pos = partition(intervals,low,high); quickSort(intervals, low, pos); quickSort(intervals, pos+1,high); } } void quickSort(vector
& intervals){ quickSort(intervals,0,intervals.size()-1); } vector
merge(vector
& intervals) { vector
result; quickSort(intervals); unsigned int n = intervals.size(); if (n==0) return result; result.push_back(intervals[0]); for (int i = 1; i < n; ++i) { int temp = result.size(); if (intervals[i].start <= result[temp-1].end) result[temp-1].end = max(intervals[i].end,result[temp-1].end); else result.push_back(intervals[i]); } return result; }

转载于:https://www.cnblogs.com/happygirl-zjj/p/4747671.html

你可能感兴趣的文章
数组是什么
查看>>
【MM自动记账】自动记账事务说明(转)
查看>>
MyBatis_SelectKey使用oracle 序列插入主键
查看>>
System.getproperty()能取到的值
查看>>
插值法(内插法)
查看>>
php 关于文件夹的一些封装好的函数
查看>>
Java并发--Java中的CAS操作和实现原理
查看>>
java1.8新特性整理(全)
查看>>
elementUI之通过指定 Table 组件的 row-class-name 属性来为 Table 中的某一行添加 class改变该行的颜色等样式。...
查看>>
小技巧
查看>>
深度学习图像配准 Image Registration: From SIFT to Deep Learning
查看>>
可分离卷积详解及计算量 Basic Introduction to Separable Convolutions
查看>>
CNN中各类卷积总结:残差、shuffle、空洞卷积、变形卷积核、可分离卷积等
查看>>
Mean Average Precision(mAP),Precision,Recall,Accuracy,F1_score,PR曲线、ROC曲线,AUC值,决定系数R^2 的含义与计算...
查看>>
win7 能ping通dns, 但无法解析域名
查看>>
centos 软件安装包下载网站
查看>>
nmap 端口扫描工具
查看>>
Excel vlookup筛选两列的重复项
查看>>
配置了BFD MAD, 在IRF正常情况下的 BFD状态是不是 down?
查看>>
SQL server 2012定期的备份数据库--完整+差异+事物
查看>>