我试图检查一个字符串是否包含任何长度> 1的回文子字符串,(注意这与检查整个字符串是否为回文不同)。我已经编写了一个可以找到偶数或奇数长度回文子字符串的函数;我已经尽力对其进行了优化,但我的代码在一些测试用例中超出了时间限制。
如何改进算法以使其更快?
如何改进算法以使其更快?
def findPalindrome(s):
ans = ""
for i in range(len(s)):
for k in range(2):
temp = str_parser(s, i, i + k)
if len(temp) > len(ans) and len(temp) > 1:
return 1
return 0
def str_parser(s, l, r):
while l >= 0 and r < len(s):
if s[r] == s[l] and len(s[l:r+1]) > 1:
return s[l:r+1]
else:
l -= 1
r += 1
return ''
findPalindrome
函数返回1,如果输入的字符串包含回文,则返回0。