gpt4 book ai didi

java - 查找两次的 "NOR"

转载 作者:太空宇宙 更新时间:2023-11-04 10:33:37 27 4
gpt4 key购买 nike

我有两个数组的格式,表示时间段的开始和结束,即上午 9 点至下午 5 点,表示为:

int[] startTime = {9, 0};
int[] endTime = {17, 0};

目的是从这些列表(保存在基本类中,格式是为了便于数据库输入)中找到没有元素占用的时间段(我猜它可以称为 NOR?)。例如,当提供 09:00-14:00 和 16:00-17:00 时(假设只有上午 9 点到下午 5 点之间的条目感兴趣),它应该返回 14:00-16:00。

该列表并不是特别大,尽管它可能包含重复项并且顺序困惑。我现在不知道该从哪里开始,有什么想法吗?

澄清一下:一个时间列表正在与另一个时间列表进行比较(一次是本地的,另一个是从其他地方提取的)

最佳答案

第 1 步:按(结束时间、开始时间)升序对间隔进行排序

第 2 步:如果 end_time(i) >= start_time(i+1) 则合并间隔

此时,您已获得一个经过重复数据删除且已排序的非重叠间隔列表。

第3步:输出全部(end_time(i), start_time(i+1))

关于java - 查找两次的 "NOR",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49734379/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com