/*
題目:輸入乙個字串,輸出該字串中對稱的子字串的最大長度。
比如輸入字串 「 google 」 ,由於該字串裡最長的對稱子字串是 「 goog 」 ,因此輸出 4 。
*///當然可以遍歷字串,在每個字元處,向左右兩方查詢字元,看其是否相等
//下面遞迴地做一下
#include#include using namespace std;
int max_length;
void dfs( string str , int low , int high , int length )
if( high - low > max_length )
} //這時候意味著出現乙個對稱串
else }}
int main()
最長對稱字串
對給定的字串,本題要求你輸出最長對稱子串的長度。例如,給定 is pat tap symmetric?最長對稱子串為 s pat tap s 於是你應該輸出11。輸入格式 輸入在一行中給出長度不超過1000的非空字串。輸出格式 在一行中輸出最長對稱子串的長度。輸入樣例 is pat tap symm...
查詢字串中最長的連續數字子串
include using namespace std int max num str char pstr,char output char p first pstr char p last pstr int num 0 while p first 0 if p first 0 p last p f...
Manacher演算法 找字串最長的回文子串
1 經典辦法 在兩頭和每個字元加上乙個特殊字元,相當於加了乙個軸,從頭遍歷判斷回文字元,得到的長度 2就是結果。時間複雜度 o n 2 2 manacher 和經典辦法相似,但有加速過程 時間複雜度 o n 在兩頭和每個字元加上乙個特殊字元,相當於加了乙個軸 普及概念 回文範圍 回文直徑 2 回文半...