找字串裡最長的對稱子串

2021-06-18 10:04:58 字數 428 閱讀 4938

/*

題目:輸入乙個字串,輸出該字串中對稱的子字串的最大長度。

比如輸入字串 「 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 回文半...