我对Jon Limjap的访谈失误感到好奇,并开始寻找高效的回文检测方法。我查看了回文高尔夫答案,我觉得答案中只有两个算法,一个是反转字符串,另一个是从头和尾部进行检查。
def palindrome_short(s):
length = len(s)
for i in xrange(0,length/2):
if s[i] != s[(length-1)-i]: return False
return True
def palindrome_reverse(s):
return s == s[::-1]
我认为这两种方法都不适用于检测巨大DNA序列中的精确回文。我查找了一下,并没有发现任何免费文章介绍超高效的方法。
采用分治的并行化方法,将每个线程或处理器分配给一个字符数组1..n和length-1-n..length-1,可能是一个好的方法。
有更好的方法吗?
你知道吗?