2011-11-28 41 views
2

確定array2是array1的「子數組」的最有效算法是什麼? (array1 = [9,9,10,4]和array2 = [9,10])確定array2是array1的子數組的最有效算法?

不依賴於特定於語言的實用程序進行數組比較,什麼是最便宜的平均值和最壞情況解決方案?似乎排序和二進制搜索只會得到負面的情況。

+3

array2的元素必須是後續的嗎? array3 = [9,4]也是array1的子數組嗎? – Timo

+0

元素必須是隨之而來的。 [9,4]不會是array1的子陣列。 –

回答

5

這基本上是關於精確的文本匹配算法,所以我們應該至少比較Boyer-Moore,KMPRabin-Karp字符串搜索算法。

幸運的是,答案已經是on this Wikpedia page,它比較了幾種字符串搜索算法的複雜性(平均值/最壞情況)。

0

我想你可以簡單地對這兩個數組進行排序並按整數比較整數。給出一個O(nlogn)解決方案

相關問題