题解 | #最长回文子串#

最长回文子串

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

  • 暴力解法:最长对称子串起始位置可能0-(len(s)-1), 分别计算其最大对称子串取最大值
  • 优化:既然知道起始位置,那么从最大长度反向遍历,只要出现对称子串,那就是该起始位置最大对称子串,这样就可以提前退出。
while True:
    try:
        s, c = input(), 1
        for i in range(len(s)):
            for j in range(len(s), i, -1):
                if s[i:j] == s[i:j][::-1]:
                    c = max(len(s[i:j]), c)
                    break
        print(c)
    except:
        break
全部评论

相关推荐

零OFFER战士:另一个版本查看图片
点赞 评论 收藏
分享
斯卡蒂味的鱼汤:我认为就是逃课实习的学生技术才靠谱
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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