Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
if ( haystack.contains(needle)){
return haystack.indexOf(needle);
}
return -1;
А что мешает при нахождении первого совпадающего символа получить следующий, и, если оба совпали, просто глянуть забрать по индексу последний чар искомой подстроки — и при его совпадении уже сравнить эту последовательность? Быстрее, чем по одному символу перебирать, не будучи уверенным в том, что мы все же в искомой подстроке.
Использование алгоритма Бойера-Мура-Хорспула в Java с примером решения задачи с LeetCode