Код Junior Скользящее окно обновлено

Тройки из трёх разных символов

Условие

Сколько подстрок длины 3 состоят из трёх различных символов.

Примеры

countDistinctTriples("xyzzaz") // 1
countDistinctTriples("aababcabc") // 4
countDistinctTriples("") // 0

Как подойти

Для окна длины три Set избыточен: три попарных сравнения дешевле создания и очистки множества на каждом шаге. Граница i + 2 < length закрывает короткие строки без отдельной проверки.

Подсказки: 2
  1. Окно фиксированной длины три - достаточно трёх сравнений.
  2. Граница цикла: последняя тройка начинается за два символа до конца.

Решите в тренажёре

Редактор с автотестами прямо в браузере. Можно решить спокойно, вслух или под таймером, как на собесе.

Термины по теме