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