题解 | #密码截取#

密码截取

https://www.nowcoder.com/practice/3cd4621963e8454594f00199f4536bb1

x = input()

lx= len(x)
maxodd = [1]*lx
maxeven= [0]*lx
for i in range(lx):
    #奇数回文串
    low = i-1 
    high = i+1
    maxodd[0] = 1
    while (low>=0 and high<=lx-1) and x[low] == x[high]:
        maxodd[i] +=2
        low -=1
        high +=1
    
    #偶数回文串
    low = i
    high = i+1
 
    while (low>=0 and high<=lx-1) and x[low] == x[high]:
        maxeven[i] +=2
        low -=1
        high +=1

print(max(max(maxodd),max(maxeven)))

全部评论

相关推荐

05-16 11:16
已编辑
东华理工大学 Java
牛客73769814...:盲猜几十人小公司,庙小妖风大,咋不叫她去4️⃣呢😁
牛客创作赏金赛
点赞 评论 收藏
分享
代码飞升:别用口语,后端就写后端,前端就写前端,最后别光后悔
点赞 评论 收藏
分享
ohs的小木屋:比不少实习待遇高了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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