题解 | #密码截取#

密码截取

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

原理

字符串的操作判断,求最长回文串。
回文串最基本就两种:ABA型、ABBA型(奇数串和偶数串),两边循环遍历判断长度即可。时间复杂度O(n^2)

my code

while True:
    try:
        ss = input()
        cnt = []
        for i in range(len(ss)):
            if i == len(ss)-1:
                break
            if ss[i] == ss[i+1]:
                n, x = 2, 1
                while i-x>=0 and i+x+1<len(ss):
                    if ss[i-x] == ss[i+x+1]:
                        n+=2
                        x+=1
                    else:
                        break
                cnt.append(n)
            elif i!=0 and ss[i-1] == ss[i+1]:
                n, y = 1, 1
                while i-y>=0 and i+y<len(ss):
                    if ss[i-y] == ss[i+y]:
                        n+=2
                        y+=1
                    else:
                        break
                cnt.append(n)
        print(max(cnt))
    except:
        break
全部评论

相关推荐

05-29 22:11
门头沟学院 Java
Elastic90:抛开学历造假不谈,这公司的招聘需求也挺怪的,Java开发还要求你有图文识别、移动端开发和c++的经验,有点逆天了。
点赞 评论 收藏
分享
球Offer上岸👑:可能是大环境太差了 太卷了 学历也很重要 hc也不是很多 所以很难
点赞 评论 收藏
分享
企业都这么缺人了吗?缺人为什么还给白菜价!
真起不了响亮的名字:我给你出个主意,把公司报出来,让牛友去投,岂不美哉
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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