classSolution:defgetLongestPalindrome(self,A:str,n:int)->int:#翻转母串
str_new=A[::-1]
most_length =0# 在母串和翻转串中找公共子串for i inrange(n):for j inrange(i+1,n+1):
temp_str = A[i:j]#判断公共子串翻转后,等于自身。if temp_str in str_new and temp_str == temp_str[::-1]:if j-i > most_length:
most_length = j-i
return most_length
## 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可## # @param A string字符串 # @return int整型#classSolution:defgetLongestPalindrome(self , A:str)->int:# write code here
count=[]
flag =1
n=len(A)for i inrange(1, n+1):for j inrange(0, n-i+1):if A[j:i+j]== A[j:i+j][::-1]:
flag = i
else:continue
count.append(flag)returnmax(count)
# -*- coding:utf-8 -*-classSolution:defFibonacci(self, n):# write code here#斐波拉契数的边界条件: F(0)=0 和 F(1)=1if n <2:return n
else:
a, b =0,1for i inrange(n-1):
a, b = b, a + b #状态转移方程,每次滚动更新数组return b
deffbi(n):if n ==1or n ==2:return1else:return fbi(n-1)+ fbi(n-2)
n =eval(input())print(fbi(n))
class Solution: def getLongestPalindrome(self,A: str,n: int) -> int: #翻转母串 str_new=A[::-1] most_length = 0 # 在母串和翻转串中找公共子串 for i in range(n): for j in range(i+1,n+1): temp_str = A[i.