2

我有一组setTimes这样的时间间隔:

[a,d] [h,j] [k,l]

另一组时间rawTimes是这样的:

[a,c] [b,e] [e,g] [f,i] [k,l] [i,m]

rawTimes需要转换为新的区间,这些区间位于 指定的区间内setTimes。所以结果集是:

[a,c] [b,d] [h,i] [k,l] [i,j] [k,l]

(其中 a < b < c ... < m)

基本上,结果集应该全部包含在setTimes集合中的一个区间内。有可能一个间隔rawTimes可以分成多个部分,或者它甚至永远不会进入最后一组。

目前我所做的是将setTimes间隔中的每个开始时间添加到一个名为的列表中startTimes,并将结束时间添加到endTimes. 所以:

startTimes = a , h , k
endTimes = d , j , l

但我被困在那里。我不知道从那里去哪里。

4

1 回答 1

1

你可以用艾伦的区间代数优雅地做到这一点

于 2012-08-08T21:05:22.623 回答