В принципе, это просто:
for (an=0;an<a.length;++an)
{
for (bn=0;bn<b.length;++bn)
{
if (a[an]==b[bn])
{
boolean run=true;
for (offset=1;offset<a.length-an && offset<b.length-bn;++offset)
{
if (a[an+offset]!=b[bn+offset])
{
run=false;
break;
}
}
if (run)
... match at a[an], etc matching b[bn], etc
}
}
}
... no match ...
При использовании чисел с плавающей точкой у вас может возникнуть проблема, заключающаяся в том, что они не обязательно должны быть точно равными, чтобы считаться совпадением, если в ваших данных есть вероятность неточности. Вместо a [an] == b [bn] вы можете сказать abs (a [an] -b [bn])
Отказ от ответственности: Код находится на моей голове и не проверен. Нет гарантий, выраженных или подразумеваемых. Ваш пробег может варьироваться. Пустота там, где это запрещено. Если появляется сыпь, обратитесь к врачу.