给定两个间隔A= 1,10和B= 3,7。返回所有不重叠的间隔,结果是1,2和8,10。
假设A和B之间总是有重叠。
我试着把问题分成几种情况:假设你想在A和B之间找到不重叠的间隔。
Case 1:
A = [0, 5] and B = [2, 3].
The result would be [0, 1] and [4, 5].
General case:
if A[0] < B[0] and B[1] < A[1]
then [A[0], B[0] - 1] and [B[1] + 1, A[1]]
Case 2:
A = [0, 5]
我有下面的代码块,它计算出重叠会话的数量。给定不同的间隔,任务是在任何时候打印这些间隔之间的最大重叠数,并找到重叠的间隔。
def overlap(v):
# variable to store the maximum
# count
ans = 0
count = 0
data = []
# storing the x and y
# coordinates in data vector
for i in range(len(v)):
# pushing the x coordinate
你能否找到两个时间间隔数组是否重叠,以一种优化的方式?假设输入数组A包含10个元素,每个元素都有一个开始日期和结束日期,类似地,输入数组B包含4个元素,每个元素都有一个开始数据和结束数据。现在找出A和B是否重叠?
示例1:
输入:
A={[1,5],[7,10],[11,15]}; //Array A contains 3elements, and each element have start and end time.
B={[6,10],[1,5]};//Array B contains 2elements, and each element have start and end tim
与查询带有开始日期和结束日期的间隔列表不同,从仅与搜索开始日期和结束日期重叠的列表中检索所有间隔,最好的方法是:
From a list of date intervals,
Find all unique sets of intervals
Where every interval in each set overlaps with each other interval in that set
使用整数示例,取整数间隔[{1,3},{2,4},{4,5},{5,7},{6,8}]的列表。从这个列表中,下面是所有唯一的间隔集,其中每一组中的每个间隔与彼此的重叠
{ {1,3}, {2,4}
我有一个具有多个日期时间间隔(开始时间、结束时间)和值的df。
输入:
id start end value
1 08:00:00.000 12:00:00.000 5
2 09:00:00.000 10:00:00.000 6
2 10:00:00.000 14:00:00.000 4
1 12:00:00.000 15:00:00.000 3
expected output:
id start end value
1 08:00:00.
使用R中的"lubridate“包,我可以找出两个时间段是否重叠。但是,有没有一种有效的方法来计算它们重叠的天数。(例如,妇女在怀孕期间吸烟的天数。孕期和吸烟期可能完全重叠、部分重叠或根本不重叠)
下面是一个有三个女人的例子:
preg_start<-as.Date(c("2011-01-01","2012-01-01","2013-01-01"))
preg_end<-preg_start+270 # end after 9 months
smoke_start<-as.Date(c("2011-02-01