Есть ли способ найти массив в другом массиве, например
a=[1,2,3,4,5,6,7]
b=[2,3,4]
c=[2,4,5]
// b is child of a, but c is NOT child of a.
Я знаю, что, используя подход Brute-force, я могу найти массив в другом массиве. Но я хочу знать, что есть какой-то алгоритм, который может мне помочь... или (поскольку я использую JAVA так) есть ли встроенная функция JAVA, которая может мне помочь?
Как уже упоминалось здесь:
public static int findArray(Integer[] array, Integer[] subArray)
{
return Collections.indexOfSubList(Arrays.asList(array), Arrays.asList(subArray));
}
По-видимому, у Java есть функции построения.
Collections.indexOfSubList()
... так что я могу иметь хорошее представление об алгоритме этой функции - поскольку я очень обеспокоен алгоритмами.