题解 | #最长回文子串#

最长回文子串

https://www.nowcoder.com/practice/12e081cd10ee4794a2bd70c7d68f5507

import sys
def find1(i,n,k):
    if i+k < len(n) and i-k >= 0 and n[i-k] == n[i+k]:
        return find1(i,n,k+1)
    else:
        return 2*k-1

def find2(i,j,n,k):
    if j+k < len(n) and i-k >= 0 and n[i-k] == n[j+k]:
        return find2(i,j,n,k+1)
    else:
        return 2*k

n = input()
m = len(n)

k = 1
for i in range(1,m-1):
    if n[i] == n[i+1]:
        k = max(k,find2(i,i+1,n,0))
    elif n[i-1] == n[i+1]:
        k = max(k,find1(i,n,2))
print(k)


全部评论

相关推荐

2025-12-19 15:04
门头沟学院 Java
小肥罗:hr爱上你了,你负责吗哈哈
点赞 评论 收藏
分享
01-29 15:45
已编辑
华中科技大学 前端工程师
COLORSN:可以试一下,小厂看技术栈是不是很落后,如果太拉胯就别去,个人认为有实习氛围比你自己琢磨要高效不少,然后就是小厂其实也有可能会问的很难,这都比较难说,还是看自己项目含金量够不够,寒假还能不能推进学习再选择,毕竟去实习过年就10天假了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务