12.51パーセントをmycode
クラス溶液(オブジェクト): DEF longestPalindrome(自己、S): "" " :タイプS:STR :RTYPE:STR """ 長さ = LEN(S) であれば、長さ== 0: リターン ' のRES =のS [0] 用 I における範囲(長さ1 ) のための J における範囲(I + 1 、長さ): もし S [J] == S [I]: 一時 = sで[I:J + 1 ] もしTEMP == TEMP [:: - 1 ]: 場合 LEN(TEMP)> LEN(RES): RES = 一時[:] 戻り RES
参考:
クラス溶液(オブジェクト): DEF longestPalindrome(自己、S): "" " :タイプS:STR :RTYPE:STR """ N = LEN(S) MAXL、開始 = 0、0 ため I にレンジ(N): もし I - MAXL> = 1 及び S [I-MAXL-1:I + 1] == S [I-MAXL-1:I + 1] [:: - 1 ]: 開始 = I - MAXL - 1 MAXL + = 2 続ける 場合、I - MAXL> = 0 と S [I-MAXL:I + 1] == S [I-MAXL:iが+ 1] [:: - 1 ]: 開始= I - MAXL MAXL + = 1 戻り S [開始:+ MAXLスタート]