题解 | #密码截取#

密码截取

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

def return_len(line1, line2):
    m = len(line1)
    n = len(line2)
    length = min(m, n)
    r_len = 0
    for i in range(length):
        if line1[i] == line2[i]:
            r_len += 1
        else:
            break
    return r_len*2  # 两倍长度

def count_code(line1, line2):
    l1 = return_len(line1, line2)  # 偶数项密码
    l2 = return_len(line1[1:], line2) # 奇数项密码
    return max(l1, l2+1)

line = input()
code_len = 0
L = ''
for i in range(len(line)):
    L += line[i]
    con_L = L[::-1]  # 对字符串进行反转
    ll = count_code(con_L, line[i+1:])
    if ll > code_len:  # 记录最大长度
        code_len = ll
print(code_len)

全部评论

相关推荐

qq乃乃好喝到咩噗茶:院校后面加上211标签,放大加粗,招呼语也写上211
点赞 评论 收藏
分享
刘湘_passion:太强了牛肉哥有被激励到
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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