L2 008 最長對稱子串 (25 分)

2021-09-11 08:10:14 字數 670 閱讀 3270

對給定的字串,本題要求你輸出最長對稱子串的長度。例如,給定is pat&tap symmetric?,最長對稱子串為s pat&tap s,於是你應該輸出11。

輸入格式:

輸入在一行中給出長度不超過1000的非空字串。

輸出格式:

在一行中輸出最長對稱子串的長度。

輸入樣例:

is pat&tap symmetric?

輸出樣例:

11**思路:**在使用for迴圈時用while函式找出最長對稱子串的長度(看**注釋),注意maxn一開始得初始化為1,因為最短的就是1,一開始寫成0,結果出錯。

#include using namespace std;

int main()

if(ans > maxn) maxn = ans; // 更新最大值

} for(int i = 1; i < s.size() - 1; i++) // 如果對稱子串的長度是奇數

if(ans > maxn) maxn = ans; // 更新最大值

} printf("%d", maxn);

return 0;

}

L2 008 最長對稱子串 25 分

對給定的字串,本題要求你輸出最長對稱子串的長度。例如,給定is pat tap symmetric?最長對稱子串為s pat tap s,於是你應該輸出11。輸入在一行中給出長度不超過1000的非空字串。在一行中輸出最長對稱子串的長度。is pat tap symmetric?11開始想複雜了,還想...

L2 008 最長對稱子串 25 分

題目鏈結 對給定的字串,本題要求你輸出最長對稱子串的長度。例如,給定is pat tap symmetric?最長對稱子串為s pat tap s,於是你應該輸出11。輸入格式 輸入在一行中給出長度不超過1000的非空字串。輸出格式 在一行中輸出最長對稱子串的長度。輸入樣例 is pat tap s...

天梯賽L2 008 最長對稱子串 25 分

本來是打算用string做的,但不知道為什麼一直做不對 for size t i buf.length i 0 i for size t j 0 j i buf.length j if i 2 else 這一條的思路是利用str可以直接匹配的優勢,結合reverse可以判斷回文 進一步,i代表最大回...