![](/img/trans.png)
[英]Given a set of intervals, find the interval which has the maximum number of intersections
[英]Find interval pattern in set of intervals
假設我注冊了一組“ on”間隔[tstart,tend]
a = [[0+t, 3.9+t], [7.1+t, 8.0+t], [9.02+t, 10.2+t]]
如何找到最佳匹配偏移量t,以便此模式與另一組間隔匹配:
b = [[5, 6], [7, 10], [11, 15], [18, 19], [20, 21] ... ]
[ t ]
---- - -
- --- ---- - - --- -- ---- - --
簡單算法(不一定是最有效的算法):選擇偏移量t的所有值,這些值會導致每個集合中的一個間隔在其起點或終點對齊。 對於這些偏移值中的每一個,計算總重疊量以找到最大值。 復雜度為O(n ^ 3),其中n是集合的大小(a和b的最大值)。 給定偏移量的重疊計算為O(n),可能的偏移值數量為O(n ^ 2)。
在您的示例中,偏移量為:
將間隔a [0]的開始與b中所有間隔的開始進行匹配:
5-0 = 5,7-0 = 7,11 = 0 = 11,....
將區間a [0]的結尾與b中所有區間的結尾匹配:
6-3.9 = 2.1,10-3.9 = 6.1,15-3.9 = 11.1,....
我們將繼續對a中的所有間隔執行相同的操作,並收集所有結果偏移值。 然后,我們為每個偏移量計算重疊。
您可以定義:
並計算:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.