Вопросы к Поиску с Алисой
Возможно, имелась в виду задача, в которой нужно найти количество различных подстрок в строке. www.e-maxx-ru.1gb.ru Один из способов решения такой задачи — метод двух указателей с подсчётом частот символов строки. www.geeksforgeeks.org
Алгоритм: www.geeksforgeeks.org
i
и j
, изначально оба указывающих на первый символ строки, то есть i
= j
= 0. www.geeksforgeeks.org i
до j
включительно. www.geeksforgeeks.org j
до тех пор, пока не встретится какой-нибудь повторяющийся символ. www.geeksforgeeks.org j
, добавлять к ответу количество всех подстрок, заканчивающихся на j
-м индексе и начинающихся с любого индекса между i
и j
. www.geeksforgeeks.org Все эти подстроки будут содержать различные символы, поскольку ни один символ в них не повторяется. www.geeksforgeeks.org i
и j
встречается какой-либо повторяющийся символ, увеличивать указатель i
до тех пор, пока повторяющийся символ не будет удалён, и соответствующим образом обновлять массив. www.geeksforgeeks.org j
не достигнет конца строки. www.geeksforgeeks.org Ещё для поиска подстроки и решения задач на строки могут использоваться алгоритмы Рабина — Карпа, Кнута-Морриса-Пратта (КМП), Ахо-Корасика и другие. markoutte.me habr.com