前言
小伙伴在公司里接到个需求,需要把创建时间和最后一次修改时间落在选定时间区间里的文件捞出来
起初简单一想似乎很容易,但是 LeetCode 简单题战神脑子有那么一瞬察觉到事情没那么简单
思考
由上述需求可知,不知道也可以看下面的思考学习一下,这是个判断两个区间是否存在交集的问题
下面我就把主要会出现的 6种情况都画出来,这样可以直观的看出来交集关系

图中的1框和5框无法与文件的创建时间和修改时间产生交集,所以只要把这两种情况排除就可以获得所有产生交集的情况,这里把刚好在同一时刻的情况也认为存在交集
结论
有了上述的思考,谁早于谁,谁由晚于谁,感觉脑子晕晕的,写下了如下的伪代码
if (开始时间 早于 创建时间 && 结束时间 早于 创建时间) || (开始时间 晚于 修改时间 && 结束时间 晚于 修改时间) {
// 不存在交集
} else {
// 存在交集
}
跑一下测试...成功通过!快乐下班🎉
前言
小伙伴在公司里接到个需求,需要把创建时间和最后一次修改时间落在选定时间区间里的文件捞出来
起初简单一想似乎很容易,但是 LeetCode 简单题战神脑子有那么一瞬察觉到事情没那么简单
思考
由上述需求可知,不知道也可以看下面的思考学习一下,这是个判断两个区间是否存在交集的问题
下面我就把主要会出现的 6种情况都画出来,这样可以直观的看出来交集关系
图中的
1框和5框无法与文件的创建时间和修改时间产生交集,所以只要把这两种情况排除就可以获得所有产生交集的情况,这里把刚好在同一时刻的情况也认为存在交集结论
有了上述的思考,谁早于谁,谁由晚于谁,感觉脑子晕晕的,写下了如下的伪代码
if (开始时间 早于 创建时间 && 结束时间 早于 创建时间) || (开始时间 晚于 修改时间 && 结束时间 晚于 修改时间) { // 不存在交集 } else { // 存在交集 }跑一下测试...成功通过!快乐下班🎉