A, C, G или T. Одна правка — замена одного символа строки на другой.
Лаборатория хочет превратить ген start в ген goal последовательностью правок. После каждой правки должен получаться жизнеспособный ген, то есть строка из списка allowed. Сам start считается жизнеспособным, даже если его нет в списке.
Верните наименьшее число правок, за которое это можно сделать, или -1, если это невозможно.start="GATTACAA", goal="GATTACCC", allowed=["GATTACCA", "GATTACCC"] → 2
GATTACAA → GATTACCA → GATTACCC: две правки, и обе промежуточные строки есть в allowed.
start="GATTACAA", goal="GATTACCC", allowed=["GATTACCC"] → -1
До цели две буквы разницы, а промежуточного разрешённого гена нет — ответ -1.
start="CCCCCCCC", goal="CCCCCCCC", allowed=[] → 0
A, C, G, Tstart="GATTACAA", goal="GATTACCC", allowed=["GATTACCA", "GATTACCC"]
2
«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 61 тест на сервере, включая скрытые.