Осадки в виде фрикаделек

легко
# решено

С неба падают фрикадельки, оставляя следы ДНК. Дан массив gene из строчных букв и число k. Найдите долю всех подряд идущих подстрок длины k, в которых все символы различны. Это поможет оценить вероятность новых фрикаделек в ближайшие 24 часа.

Пример 1:

Ввод: gene = "ababcdaa", k = 3
Вывод: 0.5
Объяснение: все непрерывные подстроки длины 3: ["aba", "bab", "abс", "bсd", "сda", "daa"], а подстроки без повторяющихся символов: ["abс", "bсd", "сda"]. Значит ответ 3/6 = 0.5

Пример 2:

Ввод: gene = "ab", k = 5
Вывод: 0
Объяснение: если строка меньше длины 5, то нельзя рассчитать вероятность на данный момент

Пример 3:

Ввод: gene = "ab", k = 1
Вывод: 1

Ограничения:

  • len(gene) ≥ 0
  • k ≥ 1