Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

脑袋晕晕,到底谁早于谁? #24

Open
RedCrazyGhost opened this issue Jul 3, 2024 · 0 comments
Open

脑袋晕晕,到底谁早于谁? #24

RedCrazyGhost opened this issue Jul 3, 2024 · 0 comments
Labels
思考 fa-solid fa-question

Comments

@RedCrazyGhost
Copy link
Owner

RedCrazyGhost commented Jul 3, 2024

前言

小伙伴在公司里接到个需求,需要把创建时间和最后一次修改时间落在选定时间区间里的文件捞出来

起初简单一想似乎很容易,但是 LeetCode 简单题战神脑子有那么一瞬察觉到事情没那么简单

思考

由上述需求可知,不知道也可以看下面的思考学习一下,这是个判断两个区间是否存在交集的问题

下面我就把主要会出现的 6种情况都画出来,这样可以直观的看出来交集关系

双时间区间交集情况图

图中的1框5框无法与文件的创建时间和修改时间产生交集,所以只要把这两种情况排除就可以获得所有产生交集的情况,这里把刚好在同一时刻的情况也认为存在交集

结论

有了上述的思考,谁早于谁,谁由晚于谁,感觉脑子晕晕的,写下了如下的伪代码

if (开始时间 早于 创建时间 && 结束时间 早于 创建时间) || (开始时间 晚于 修改时间 && 结束时间 晚于 修改时间) {
    // 不存在交集
} else {
    // 存在交集
}

跑一下测试...成功通过!快乐下班🎉

@RedCrazyGhost RedCrazyGhost added the 思考 fa-solid fa-question label Jul 3, 2024
@RedCrazyGhost RedCrazyGhost changed the title 脑袋昏昏,到底谁早于谁? 脑袋晕晕,到底谁早于谁? Jul 3, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
思考 fa-solid fa-question
Projects
None yet
Development

No branches or pull requests

1 participant