问我问题的最好方法是通过一个明确的例子。考虑 2 个时间线(例如,以秒为单位的时间)A 和 B,其中每个时间线的间隔为:
intervals_a =
0 1
1 4
4 7
7 9
intervals_b =
0 2
2 3
3 5
5 8
请注意,第一个 a 间隔与第一个 b 间隔重叠。第二个 a 间隔与第一个、第二个和第三个 b 间隔重叠,依此类推。
最终,我需要一个输出来显示与 b 间隔重叠的 a 间隔的索引,如下所示:
output =
1 1 \\ 1st a-interval overlaps 1st b-interval
2 1 \\ 2nd a-interval overlaps 1st b-interval
2 2 \\ 2nd a-interval overlaps 2nd b-interval
2 3 \\ 2nd a-interval overlaps 3rd b-interval
3 3 \\ etc...
3 4
4 4
最大的挑战是:解决方案不能包含 for/while 循环(“为什么”无关紧要)。这可以使用向量/矩阵/数组/排序或其他工具有效地完成吗?MATLAB 实现将是完美的,但任何其他语言都可以。提前致谢!