Class Solution
-
- All Implemented Interfaces:
public final class Solution
433 - Minimum Genetic Mutation\.
Medium
A gene string can be represented by an 8-character long string, with choices from
'A'
,'C'
,'G'
, and'T'
.Suppose we need to investigate a mutation from a gene string
startGene
to a gene stringendGene
where one mutation is defined as one single character changed in the gene string.For example,
"AACCGGTT" --> "AACCGGTA"
is one mutation.
There is also a gene bank
bank
that records all the valid gene mutations. A gene must be inbank
to make it a valid gene string.Given the two gene strings
startGene
andendGene
and the gene bankbank
, return the minimum number of mutations needed to mutate fromstartGene
toendGene
. If there is no such a mutation, return-1
.Note that the starting point is assumed to be valid, so it might not be included in the bank.
Example 1:
Input: startGene = "AACCGGTT", endGene = "AACCGGTA", bank = "AACCGGTA"
Output: 1
Example 2:
Input: startGene = "AACCGGTT", endGene = "AAACGGTA", bank = "AACCGGTA","AACCGCTA","AAACGGTA"
Output: 2
Constraints:
0 <= bank.length <= 10
startGene.length == endGene.length == bank[i].length == 8
startGene
,endGene
, andbank[i]
consist of only the characters['A', 'C', 'G', 'T']
.
-
-
Constructor Summary
Constructors Constructor Description Solution()
-