最長のファリンドロン

3102 ワード

プログラマ


前後が
  • を逆さまにしても、同じ文字列を回文と呼ぶ.
  • 文字列sが与えられた場合、sの部分文字列(Substring)の中で最も長いパリンドロン長を返す解析関数を完了します.
  • 文字列sの長さ:2500以下の自然数
  • 文字列sは、アルファベット小文字のみからなる
  • にゅうしゅつりょく


    sresult"abcdcba"7"abacde"3

    方法


    :インデックスを二重砲口に移動してファリンドロン検査を行います.
    パリントロム=>現在の文字列==逆の文字列

    コード#コード#

    def check(s):
        if s == s[::-1]: return True
        return False
    
    def solution(s):
        l = -1e9
        for i in range(len(s)):
            for j in range(i, len(s)+1):
                if check(s[i:j]):
                    l = max(l, len(s[i:j]))
        return l