ACM題目 最長回文子串

2021-09-24 16:42:05 字數 823 閱讀 4893

求出字串中最長的回文子串。子串的含義是:在原串中連續出現的字串片段。回文的含義是:正著看和倒著看相同,如abba和yyxyy。在判斷時,應該忽略所有標點符號和空格,且忽略大小寫。

輸入字串有多行,但每個字串長度不超過5000,且每個字串佔據單獨的一行。

依次輸出每個字串中最長的回文串,需要保持原樣(在回文串的首部和尾部不要輸出多餘字元),如果有多個,輸出起始位置最靠左的。

confuciuss say:madam,i』m adam.

madam,i』m adam

#include

#include

#include

#include

#include

//若用manacher,在每個字元後新增"#",複雜度o(n)

using namespace std;

int main()

}//方法一:列舉回文串從中間向外擴充套件:o(n方)

//奇數

for(int i =

0; i < len; i++)if

(num > max)

}//偶數

Jobdu 題目1528 最長回文子串

題目描述 回文串就是乙個正讀和反讀都一樣的字串,比如 level 或者 noon 等等就是回文串。回文子串,顧名思義,即字串中滿足回文性質的子串。給出乙個只由小寫英文本元a,b,c.x,y,z組成的字串,請輸出其中最長的回文子串的長度。輸入 輸入包含多個測試用例,每組測試用例輸入一行由小寫英文本元a...

Jobdu 題目1528 最長回文子串

題目描述 回文串就是乙個正讀和反讀都一樣的字串,比如 level 或者 noon 等等就是回文串。回文子串,顧名思義,即字串中滿足回文性質的子串。給出乙個只由小寫英文本元a,b,c.x,y,z組成的字串,請輸出其中最長的回文子串的長度。輸入 輸入包含多個測試用例,每組測試用例輸入一行由小寫英文本元a...

最長回文子串 最長回文子串行

1.最長回文子串行 可以不連續 include include include include using namespace std 遞迴方法,求解最長回文子串行 intlps char str,int i,int j intmain include include include using n...