Ctrl K

Промежутки между парами букв

Лёгкая
Дана строка word из строчных латинских букв, в которой каждая встречающаяся буква стоит ровно два раза. Дан также массив gaps длины 26: gaps[0] относится к букве a, gaps[1] — к b, и так далее до z. Строка подходит, если для каждой буквы, которая в ней есть, количество букв между двумя её вхождениями равно соответствующему числу из gaps. Числа для букв, которых в строке нет, ни на что не влияют. Верните True, если строка подходит, и False иначе.
Пример 1
word="kxkx", gaps=[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0] → True

Между двумя k одна буква, между двумя x — тоже одна; это и требуют gaps[10] и gaps[23]. Остальные числа не важны.

Пример 2
word="bccb", gaps=[0, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] → False

Две c стоят вплотную — между ними 0 букв, а gaps[2] требует 1.

Ограничения
  • 2 ≤ len(word) ≤ 52
  • word состоит из строчных латинских букв
  • Каждая буква в word встречается ровно два раза
  • len(gaps) == 26
  • 0 ≤ gaps[i] ≤ 50
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиСлова одного ряда ЛёгкаяГде поужинать вдвоём ЛёгкаяФразы со словами-синонимами ЛёгкаяСлово из букв автономера ЛёгкаяРазличные сигналы азбуки Морзе Лёгкая
загружаем Python…
Вход
word="kxkx", gaps=[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0]
Ожидается
True

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