题解 | #密码截取#

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

全部评论

相关推荐

点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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