判断两个时间段交集、时间重叠问题

简介: 判断两个时间段范围是否有交集(时间重叠)问题经常遇到,比如预约会议室开会,活动的开始结束等,本文做此分析。

判断两个时间段范围是否有交集(时间重叠)问题经常遇到,比如预约会议室开会,活动的开始结束等,本文做此分析。

前提:本文时间传参已做限制,结束时间必须大于开始时间

1、正向思维

image.gif

代码如下

(oneStartTime <= otherStartTime && otherStartTime <= oneEndTime) 
|| (oneStartTime <= otherEndTime && otherEndTime <= oneEndTime) 
|| (oneStartTime <= otherStartTime && oneEndTime <= otherEndTime) 
|| (otherStartTime <= oneStartTime && oneEndTime <= otherEndTime)

image.gif

oneStartTime <= otherEndTime && oneEndTime >= otherStartTime

image.gif

2、逆向思维

image.gif代码如下

!(otherEndTime < oneStartTime || otherStartTime > oneEndTime)

image.gif

3、参考链接

1)判断两个时间段范围是否有交集

2)SQL中的时间重叠问题

若本文有帮助到阅读本文的同学,欢迎点赞、关注、收藏,互相学习交流。

目录
相关文章
|
7月前
|
算法 测试技术 C#
C++二分查找算法:包含每个查询的最小区间
C++二分查找算法:包含每个查询的最小区间
|
3月前
|
JavaScript 前端开发
对数组元素出现次数进行统计
该文章介绍了如何使用JavaScript统计数组中每个元素的出现次数,包括通过创建对象和使用`Set`对象去重的方法。
43 2
对数组元素出现次数进行统计
|
7月前
|
对象存储
统计数组中的重复数据的数量
这篇文章总结了5种统计数组中重复数据数量的方法。方法1和4使用for循环和对象存储计数;方法2和5利用`reduce`函数,其中方法5是最简写形式;方法3是特定场景下的应用,针对特定值计数。所有方法最终都返回一个对象,键为数组元素,值为出现次数。
173 3
|
7月前
|
SQL 前端开发
区间时间检索
区间时间检索
29 0
|
7月前
|
Java 测试技术
统计满足条件的子集个数
统计满足条件的子集个数
49 0
|
Python
将列表按照指定的规则排序并添加平均值
将列表按照指定的规则排序并添加平均值
75 1
使用lambda去重、map排序、按任意时间间隔(小时、半小时、分钟)进行结果统计
使用lambda去重、map排序、按任意时间间隔(小时、半小时、分钟)进行结果统计
262 0
使用lambda去重、map排序、按任意时间间隔(小时、半小时、分钟)进行结果统计
判断某个值是否在多维关联数组中 返回该值的所在的关联数组
判断某个值是否在多维关联数组中 返回该值的所在的关联数组
90 0
给定两个整数,M,N,表示区间【 2……n,2 m) ,请求出这个区间有多少个满足 i%7=1
给定两个整数,M,N,表示区间【 2……n,2 m) ,请求出这个区间有多少个满足 i%7=1
91 0