题解 | #密码截取#

密码截取

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

import sys

def isas(str):
    for i in range(len(str)//2):
        if str[i] == str[-i-1]:
            pass
        else:
            return False
    return True

for line in sys.stdin:
    a = line.strip()
    dp = [1 for i in range(len(a))]

    for i in range(1,len(a)):
        max_l = 1
        for j in range(dp[i-1],-1,-1):
            get = False
            if i>=j+1:
                if a[i]==a[i-j-1]:
                    if j > 1: 
                        if isas(a[i-j:i]):
                            get=True
                    else:
                        get=True
                    if get:
                        this=j+2
                        if this> max_l:
                            max_l=this
            else:
                if a[i]==a[i-1]:
                    this=2
                    if this> max_l:
                        max_l=this
        
        dp[i] = max_l
    

    print(max(dp))

全部评论

相关推荐

头像
昨天 15:46
已编辑
中南大学 后端
字节国际 电商后端 24k-35k
点赞 评论 收藏
分享
11-08 16:53
门头沟学院 C++
投票
滑模小马达:第三个如果是qfqc感觉还行,我签的qfkj搞电机的,违约金也很高,但公司感觉还可以,听说之前开过一个试用转正的应届生,仅供参考。
点赞 评论 收藏
分享
hso_:哈哈哈哈哈哈我没offer一样在同一道题开喷了
投递深圳同为数码等公司10个岗位
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务