题解 | #密码截取#
密码截取
http://www.nowcoder.com/practice/3cd4621963e8454594f00199f4536bb1
def fn(s1, s2):
res = 0
l = min(len(s1), len(s2))
if l > 0:
for j in range(l):
if s1[j] == s2[j]:
if 2*(j+1) > res:
res = 2*(j+1)
else:
break
return res
def run(seq):
res = []
for i in range(1, len(seq)):
tmp = 1
tmp1 = seq[:i][::-1]
tmp2 = seq[i:]
tmp = fn(tmp1, tmp2)
tmp1 = seq[:i+1][::-1]
tmp2 = seq[i:]
tmp = max(fn(tmp1, tmp2)-1, tmp)
res.append(tmp)
return max(res)
seq = input().strip()
print(run(seq))