题解 | #密码截取#
密码截取
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)
查看14道真题和解析
