Задача 7: Минимальная генетическая мутация

Напишите определение функции min_mutation(startGene, endGene, bank), которая принимает следующие аргументы:

  1. startGene: исходная генетическая строка, длиной 8 символов.
  2. endGene: целевая генетическая строка, длиной 8 символов.
  3. bank: список допустимых генетических строк (банк), где каждая строка состоит из символов 'A', 'C', 'G', 'T'.

Функция должна вернуть минимальное количество мутаций, необходимых для преобразования строки startGene в строку endGene. Каждая мутация определяется как изменение одного символа в строке. Мутация считается допустимой, если она присутствует в банке. Если невозможно преобразовать startGene в endGene, функция должна вернуть -1.

Пример 1:

Ввод:
startGene = "AACCGGTT"
endGene = "AACCGGTA"
bank = ["AACCGGTA"]

Вывод:
1

Пример 2:

Ввод:
startGene = "AACCGGTT"
endGene = "AAACGGTA"
bank = ["AACCGGTA", "AACCGCTA", "AAACGGTA"]

Вывод:
2

0

Вы должны Войти или Зарегистрироваться чтобы оставлять комментарии