python 最大回文子串

2021-09-24 19:53:14 字數 738 閱讀 2384

給定乙個字串「abcdcbadegtefetge」 得到最大回文字串「egtefetge」

找到所有子串,判斷每乙個子串是否是回文.即a==a[::-1]

def verifyreverse(st):

target = ''

flag = false

if st == st[::-1]:

target = st

else:

current = len(st) - 1

while current > 0:

for i in range(len(st) - current + 1):

tmp = st[i:i+current]

print(tmp)

if tmp == tmp[::-1]:

target = tmp

flag = true

break

if flag:

break

current -= 1

return target

print(verifyreverse("abcdcbadegtefetge"))

先判斷整個是否是回文,yes 賦值

list 切片。 第一次的時候,range(2) ,i 取值 0,1. 如果沒有找到回文,那麼current -1

第二次,range(3),

對每乙個子串,判斷回文。如果是,把當前子串賦值給target, 並且跳出

最大回文子串行 最大回文子串

最大回文子串行,例如cafgfkc,最大回文子串行cfgfc,輸出5。子串行相當於刪除某些位置上的字元後形成的序列。最大回文子串,例如cafgfkc,最大回文子串fgf,輸出3。子串相當於擷取start位到end位的子串。試過沒認真看題目,原題是求子序列,想當然以為求子串,直接高高興興用manach...

最大回文子串

輸入乙個字串,求出其中最大回文子串的長度。子串的含義是 在原串中連續出現的字串片段。回文的含義是 正著看和倒著看相同,如abba和yyxyy。在判斷時,應該忽略所有標點符號和空格,且忽略大小寫,但輸出應保持原樣 在回文串的首部和尾部不要輸出多餘字元 include string include io...

最大公共子串行,最大公共子串,最大回文子串

1 兩個字串中最長公共子串行 該問題是動態規劃的經典問題,找出的公共序列不一定是連續的,參考資料很多,這裡就貼出公式和 做個簡單的筆記。設序列a,b的長度分別為n和m,l i,j 為a i b j 的最長公共子串行長度,有遞推公式 時間複雜度為o mn 如下 define n 50 intlcs c...