私は乱数の配列を持っています:
[ 10,11,12,14,15,16,17,18,19,20,11,12,14,25,25,26,27,28,29 ] _ _ _ _
繰り返されるシーケンスを検出する必要があります (魔女は実際にはエラーです)
長さが特定の数値 (2) より大きい場合。
これに適したアルゴリズムはありますか?
私が今持っているもの:
int minLenght = 3;
int[] data = {1,2,3};
for(int i = 0; i < data.length; i++){
for(int j = 0; j < data.length; j++){
if ( data[i] == data[j]){
int l = 0;
int ii = i;
int jj = j;
while(data[ii] == data[jj]){
ii++;
jj++;
l++;
}
if(l >= minLenght){
print('['+i+'-'+ii+'] same as ['+j+'-'+jj+']');
}
}
}
}