【发布时间】:2010-09-19 21:00:29
【问题描述】:
我对@987654321@ 产生了好奇,并开始寻找有效的方法来进行回文检测。我检查了palindrome golf 的答案,在我看来,答案中只有两种算法,反转字符串并从尾部和头部检查。
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 序列中的精确回文。我环顾四周,没有找到任何免费的文章来说明这可能是一种超高效的方法。
一个好的方法可能是以分而治之的方法并行化第一个版本,将一对 char 数组 1..n 和 length-1-n..length-1 分配给每个线程或处理器。
有什么更好的方法?
你知道吗?
【问题讨论】:
标签: algorithm performance palindrome