Ctrl K

Два слова через одну букву

Средняя
Дан список различных слов words, и все они одной длины. Проверьте, есть ли среди них два слова, которые отличаются ровно в одной позиции: на всех остальных местах у них стоят одинаковые буквы. Верните True, если такая пара найдётся, и False иначе. Перебор всех пар очевиден; попробуйте уложиться в O(n · m), где n — число слов, а m — их длина.
Пример 1
words=['lamp', 'ramp', 'rump', 'dump'] → True

«lamp» и «ramp» отличаются только первой буквой — такая пара есть.

Пример 2
words=['abc', 'bca', 'cab'] → False

Любые два слова расходятся во всех трёх позициях, пары нет.

Пример 3
words=['x'] → False

Слово всего одно — сравнивать не с чем.

Ограничения
  • 1 ≤ len(words)
  • Все слова одной длины, не меньше 1
  • Суммарная длина всех слов не больше 10⁵
  • Слова попарно различны
  • Слова состоят из строчных латинских букв
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиПовторяющиеся участки гена СредняяВсе двоичные коды внутри СредняяПодстроки с поровну цифр СредняяСамый длинный повтор СредняяЧисло различных фрагментов строки Средняя
загружаем Python…
Вход
words=['lamp', 'ramp', 'rump', 'dump']
Ожидается
True

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