У меня есть два массива, search
и target
. Я хочу найти самую длинную последовательность элементов search
, которая начинается с начала search
и которая также появляется в том же последовательном порядке в target
. Затем я хочу вернуть копию target
со всеми этими элементами.
Вот несколько примеров:
search = [4, "apple", 6, "turnip"]
target = [5, "apple", 4, "orange"]
=> [5, "apple", "orange"] # Delete [4], the longest matching
# prefix of `search`.
search = [4, "apple", 6, "turnip"]
target = [5, "apple", 4, "apple"]
=> [5, "apple"] # Delete [4, "apple"], the longest matching
# prefix of `search`.
search = [4, "apple", 6, "turnip"]
target = [5, "apple", 6, 7]
=> [5, "apple", 6, 7] # Nothing was matched; don't delete anything.
Какой самый краткий способ выполнить эту проверку?