Ctrl K

Первое окно с одной опечаткой

Сложная
Даны строки text и sample. Мы ищем в text место, где sample записан, возможно, с одной опечаткой. Окно — это подстрока text той же длины, что и sample. Окно подходит, если оно совпадает с sample во всех позициях, кроме не более чем одной. Верните индекс начала самого левого подходящего окна или -1, если такого нет (в том числе когда sample длиннее text).
Пример 1
text="banana", sample="nab" → 2

"ban" отличается от "nab" в двух местах, "ana" — в трёх, а "nan" (с индекса 2) — только в последней букве.

Пример 2
text="roses", sample="rise" → 0

Уже первое окно "rose" отличается от "rise" одной буквой.

Пример 3
text="abc", sample="xy" → -1

Оба окна, "ab" и "bc", отличаются от "xy" в двух местах, поэтому ответ -1.

Ограничения
  • 1 ≤ len(text), len(sample) ≤ 10⁵
  • Обе строки состоят из строчных латинских букв
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиПалиндром дописыванием слева СложнаяНачало, совпадающее с концом СложнаяСтроки из диапазона без запретного слова СложнаяХвосты, повторяющие начало СложнаяШаблон с разрешёнными заменами Сложная
загружаем Python…
Вход
text="banana", sample="nab"
Ожидается
2

«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 137 тестов на сервере, включая скрытые.