Решение задачи 23.
Пусть z есть массив из N элементов, y - из M. Положим i=1 и j=1. Берем элемент z[i] и ищем минимальное k, k>=j, k<=M, такое что y[k]=z[i] (мы находим очередной совпадающий символ в строках z и y). Полагаем i=i+1 и j=k+1. Повторяем поиск элемента z[i] в оставшемся куске последовательности y. Условия окончания поиска:
a) Если i стало больше N (т.е. все элементы массива z являются подпоследовательностью элементов y), - и тогда z можно получить вычеркиванием элементов из y.
б) Если в оставшимся куске последовательности y не найдено элемента, совпадающего с очередным z[i], то z из y получить нельзя.
|