首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带区间算术序列的最大重叠

带区间算术序列的最大重叠
EN

Stack Overflow用户
提问于 2020-02-23 06:16:48
回答 1查看 101关注 0票数 0

我有n个有间隔的算术序列。我需要找到第一个点,其中大部分时间间隔重叠。序列是无限的。让我举一个有限序列的例子,其中我一共有8个序列。给予,

N=8。所以,有8个序列。这些序列如下:

1:{1,2,3,4,5,6,7,8}{17,18,19,20,21,22,23,24}

seq-2:{9,10,11,12,13,14,15,16}..{25,26,27,28,29,30,31,32}

seq-3:{1,2,3,4}..{9,10,11,12}..{17,18,19,20}..{25,26,27,28}

seq-4:{5,6,7,8}..{13,14,15,16}..{21,22,23,24}..{29,30,31,32}

seq-5:{5}..{13}..{21}..{29}

seq-6:{4}.{8}.{12}.{16}.{20}.{24}.{28}.{32}

seq-7:{9,11,13,15}..{25,27,29,31}

seq-8:{2}.{18}

在这里,第13点和第29点有最大的重叠与4圈以上。第一点是13。

可以用O( n),O(n^2),O(n^3),O(n^4),O(n log N)等有效算法求解。

EN

回答 1

Stack Overflow用户

发布于 2020-02-23 07:31:58

我建议使用分配计数算法。

下面是具有3个样本序列的算法的简单演示:

代码语言:javascript
复制
seq-1: [{1,2,}..{9,10}]

seq-2: [{1,2,3}..{5,7,8}]

seq-3: [{2,3,4}..{6,7}..{9,10}]

您需要在所有序列中找到最大值。在这种情况下是10。

创建一个从0到10开始的由11个元素组成的int数组。

代码语言:javascript
复制
i   | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
--------------------------------------------------
A[i]| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |  0 |

现在,我们通过将元素的值增加1来计算元素在所有序列中的出现。

seq-1:{1,2,}.{9,10}

代码语言:javascript
复制
This sequence contains 1, 2, 9, and 10.
Increase value at index 1, 2, 9, and 10 by 1.

i   | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
--------------------------------------------------
A[i]| 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 |  1 |

2:{1,2,3}.{5,7,8}

代码语言:javascript
复制
This sequence contains 1, 2, 3, 5, 7,and 8.
Increase value at index 1, 2, 3, 5, 7, and 8 by 1.

i   | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
--------------------------------------------------
A[i]| 0 | 2 | 2 | 1 | 0 | 1 | 0 | 1 | 1 | 1 |  1 |

seq-3:{2,3,4}.{6,7}.{9,10}

代码语言:javascript
复制
This sequence contains 2, 3, 4, 6, 7, 9, and 10.
Increase value at index 2, 3, 4, 6, 7, 9, and 10 by 1.

i   | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
--------------------------------------------------
A[i]| 0 | 2 | 3 | 2 | 1 | 1 | 1 | 2 | 1 | 2 |  2 |

最后,数字2在所有序列之间的最大重叠次数为3。

希望我的建议会有帮助!

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60359683

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档