很久没有写什么东西了,偶尔写一下,证明自己还有呼吸
某些业务需求,需要拿到与传递的时间段相重合的数据行,一般情况有以下5种(第6种情况是第5种的变种,完全不重合):
*换行*
这里用“距离长度”来判断两个时间段是否重合,目前我个人感觉比较直观也比较简单的判断方法,即两段开始时间最小值,与两时间的最大值之间的长度,必然小于两段时间长度之和,这种情况就是属于时间段重合;如果长度相等,则属于时间段连续;如果最大值与最小值间的长度大于两时间段长度的和,则表示完全不重合。
min = t1<t3?t1:t3;
max = t2>t4?t2:t4;
matchLength = max-min;
length = (t2-t1)+(t4-t3);
v = matchLength - length;
**由此也引发了本人对两集合的交集、并集、差集的算法思考。
**欢迎批评指正