我有一个动态填充的向量,并且总是包含一个重复序列,其中包含我不确定的字符和长度。例如,向量可以包含以下元素:
0 1 1 2 3 1 0 1 1 2 3 1 0 1 1 2
并且该载体中的重复序列是:
0 1 1 2 3 1
如何搜索向量并找到这些元素。我想把找到的序列放在一个新的载体中。我首先假设它只需要一个简单的for循环并检查数组中第一个和第二个元素的重复,所以在上面的情况下,当我第二次到达0 1
时我将退出循环,但是问题是不能假设前两个元素将处于重复模式中,所以
0 1 2 3 2 3 2 3 2 3
可以是向量中的有效元素。有什么想法吗?
答案 0 :(得分:0)
一般来说(无限结果)不可能知道序列,因为类似的东西可能发生在1百万0然后1,在1000零之后你会认为序列只有零,但是如果向量是有限的 你可以写一些像这样的想法
for(I..VECTORSIZE / 2)
if(VECTORSIZE % I == 0)
CHECK IF SUBVECTOR(0,I) == SUBVECTOR(I,I*2) == SUBVECTOR(I*2,I*3)....
return I
else continute;