题解 | #密码截取#

密码截取

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

# 从右到左,对每个字符进行遍历处理,并且每个字符要处理两次,因为回文子串有两种情况:
# ABA型:只需要从当前字符向两边扩散,比较左右字符是否相等,找出以当前字符为中心的最长回文子串长度
# ABBA型:只需要从当前字符和下一个字符向两边扩散,比较左右字符是否相等,找出以当前字符和下一个字符为中心的最长回文子串长度
# 最后比对两种类型的长度,取自较长的长度

out=0
s=input()
n=len(s)

for i in range(0,n):
    len_ABA=1
    k=i-1
    j=i+1
    while k>=0 and j<n:
        if (s[k]==s[j])==True:
            k-=1
            j+=1
            len_ABA+=2
            
        else:
            break
    len_ABBA=0
    k=i
    j=i+1
    while k>=0 and j<=n-1:
        if (s[k]==s[j])==True:
            k-=1
            j+=1
            len_ABBA+=2
        else:
            break
    # print(i,len_ABA,len_ABBA)
    new_lone=max(len_ABA,len_ABBA)
    if new_lone>out:
        out=new_lone

print(out)

全部评论

相关推荐

03-06 20:09
贵州大学 Java
King987:你这个学历找个中大厂刷实习经历都是可以的,但是项目要有亮点才行,这个什么外卖就不要做了,去找找最新的项目,至少涉及高并发或者是新型的AI技术mcp rag啥的 ,我在出简历点评,但是你这个没什么好点评的,内容太少,而且含金量太低。自己改一改吧,或者看一下我的项目地址中,那里有大厂最近做过的实习项目
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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