Я передаю массив в библиотечную функцию, которая возвращает массив, который является подпоследовательностью входного массива. То есть порядки первого и второго массива идентичны, но во втором массиве может отсутствовать любое количество элементов первого массива. В любом массиве не будет дубликатов!
Я хочу затем создать новый массив всех элементов, которые были на входе, но не на выходе функции.
По какой-то причине, хотя это звучит тривиально, я продолжаю понимать это неправильно, особенно на концах массивов, которые кажутся.
Пример 1 (типичный):
входной массив a:
[ yyz, ltn, tse, uln, ist, gva, doh, hhn, vlc, ios, app, tlv, lcy ]
входной массив b:
[ yyz, ltn, tse, uln, ist, gva, doh, hhn, vlc, tlv, lcy ]
выходной массив "diff":
[ ios, app ]
Пример 2 (минимальный, выявляет некоторые ошибки, когда разница находится в конце строк):
входной массив a:
[ usa ]
входной массив b:
[ ]
выходной массив "diff":
[ usa ]
(Я собираюсь реализовать его в JavaScript / jQuery, но меня больше интересует универсальный алгоритм в псевдокоде, поскольку я на самом деле буду иметь дело с массивами объектов. Поэтому, пожалуйста, я ищу алгоритмы, которые специально используют индексирование массива, а не указатели, как в C / C ++)