变长窗口+回文 | HJ85 最长回文子串

s = input().lower()
res = ''
for i in range(0, len(s)):
    start = max(0, i-len(res)-1)  # i-len(res)使得[i-len(res):i+1]子串长为n+1,而回文要在两头各加1长度,应该为1+n+1,所以这里起点向左扩大1格
    tmp = s[start:i+1]  # i+1控制每次子串比记录长度n更长1格
    if tmp == tmp[::-1]:
        res = tmp
    else:
        if tmp[1:] == tmp[1:][::-1]:
            res = tmp[1:]
print(len(res))

华为笔试刷题 文章被收录于专栏

高质量题: 1~40:HJ16,HJ22,HJ24,HJ26,HJ27,HJ28,HJ35,HJ37,HJ39; 40~80:HJ41,HJ42,HJ43,HJ44,HJ48,HJ50,HJ52,HJ53,HJ57,HJ61,HJ63,HJ64,HJ70,HJ71,HJ74,HJ77; 80~108:HJ82,HJ85,HJ88,HJ89,HJ93,HJ95,HJ98,HJ103,HJ107

全部评论

相关推荐

03-19 10:07
已编辑
广东药科大学 golang
Yki_:你倒是进一个面啊
点赞 评论 收藏
分享
真烦好烦真烦:有些公司会卖简历信息,应该是被卖了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务