在一个基因实验中,有一个由 8 个字符组成的基因序列 start,每个字符都是 'A'、'C'、'G' 和 'T' 之一。实验需要将 start 变为另一个基因序列 end。每次实验只能改变 start 中的一个字符。实验中有一个基因库 bank,只有基因库中的基因才是有效的基因序列,即变化后的基因必须在基因库中找到。给定 start、end 和 bank,请找出并返回能够使 start 变化为 end 所需的最少变化次数。如果无法完成此基因变化,返回 -1。 注意:起始基因序列 start 默认是有效的,但是它并不一定会出现在基因库中。
示例1
输入
"AAAAAAAA","CCCCCCCC",["AAAAAAAA","AAAAAAAC","AAAAAACC","AAAAAACA","AAAAACCC","AAAACCCC","AAACCCCC","AACCCCCC","ACCCCCCC","CCCCCCCC"]
示例2
输入
"ACCAGATG","ACCAGATT",["ACCAGATT"]
示例3
输入
"AACCGGTT","AAACGGTA",["AACCGGTA","AACCGCTA","AAACGGTC"]
备注:
start.length == 8end.length == 80 bank[i].length == 8start、end 和 bank[i] 仅由字符 ['A', 'C', 'G', 'T'] 组成
加载中...