题解 | 密码截取

# 考虑密码长度是奇数还是偶数。
# 添加固定符号到原字符串,使其总长度变为奇数,且不改变回文的特性。
# 按照奇数的处理方法,最后返回时去掉固定符号 。
# 移动中心指针,每次都调整左右指针截取字符串,不停地找最长的回文字符串

from time import strptime
while True:
    try:
        chars  = input()
        strPlus = '#'
        for i in chars:
            strPlus += i
            strPlus += '#'
        

        result = ''
        for point in range(1,len(strPlus)-1):
            left = point -1
            right = point +1
            while left >= 0 and right < len(strPlus) and strPlus[left] == strPlus[right]:
                result = strPlus[left:right+1] if len(strPlus[left:right+1]) > len(result) else result
                # print(result)
                left -= 1
                right += 1

        res = result.replace("#","") 
        print(len(res))
    except:
        break

全部评论

相关推荐

点赞 评论 收藏
分享
人力小鱼姐:实习经历没有什么含金量,咖啡店员迎宾这种就别写了,其他两段包装一下 想找人力相关的话,总结一下个人优势,结合校园经历里有相关性的部分,加一段自我评价
点赞 评论 收藏
分享
哈哈哈哈哈哈哈哈哈哈这个世界太美好了
凉风落木楚山秋:毕业出路老师不管,你盖个章他好交差就完事了,等你盖完毕业了就不关他事情了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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