题解 | 密码截取

密码截取

https://www.nowcoder.com/practice/3cd4621963e8454594f00199f4536bb1

s = input()

def longest_palindromic_substring(s):
    n = len(s)
    if n < 2:
        return n
#    start = 0
    max_len = 1

    def expand_around_center(left, right):
        while left >= 0 and right < n and s[left] == s[right]:
            left -= 1
            right += 1
        return right - left - 1

    for i in range(n):
        len1 = expand_around_center(i, i)  # 以单个字符为中心扩展
        len2 = expand_around_center(i, i + 1)  # 以两个字符为中心扩展
        current_len = max(len1, len2)
        if current_len > max_len:
            max_len = current_len
#            start = i - (current_len - 1) // 2

    return max_len
#若要输出最长回文子串内容则需要start
#return s[start:start + max_len]

result = longest_palindromic_substring(s)
print(result)

全部评论

相关推荐

不愿透露姓名的神秘牛友
12-16 15:57
小鹏汽车 java后端 22*15(固定13,2个月年终) 硕士211
点赞 评论 收藏
分享
陌夏微秋:一线城市25w左右吧,17×15=255
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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