题解 | #密码截取#

密码截取

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)

全部评论

相关推荐

04-17 10:16
门头沟学院 Java
不河狸啊:为什么我的是已送达,连已读都没有
点赞 评论 收藏
分享
04-13 18:10
门头沟学院 Java
想熬夜的小飞象在秋招:被腾讯挂了后爸妈以为我失联了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务