题解 | #密码截取#
https://www.nowcoder.com/practice/3cd4621963e8454594f00199f4536bb1
while True: try: arr0 = list(input()) if 1 <= len(arr0) <= 2500: arr1 = [] for i in range(len(arr0) - 1): # 1、相邻两个字符相同时,往两边扩散 if arr0[i] == arr0[i + 1]: x, y, z = i, i + 1, '' while x >= 0 and y < len(arr0): if arr0[x] == arr0[y]: z += arr0[x] + arr0[y] x -= 1 y += 1 else: break arr1.append(len(z)) if i>0: #一个字符的左右两边相等,往两边扩散 if arr0[i - 1] == arr0[i + 1]: x, y, z = i - 1, i + 1, arr0[i] while x >= 0 and y < len(arr0): if arr0[x] == arr0[y]: z += arr0[x] + arr0[y] x -= 1 y += 1 else: break arr1.append(len(z)) arr1.sort(reverse=True) print(arr1[0]) else: continue break except: break
查看14道真题和解析
