最長對稱字串

2021-08-17 20:56:20 字數 948 閱讀 2399

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

輸入格式:

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

輸出格式:

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

輸入樣例:

is pat&tap symmetric?

輸出樣例:

11 分析:

有兩種可能,一種是回文字串的長度為奇數,一種是偶數的情況。

i為字串當前字元的下標。

當回文字串為奇數的時候,j表示i-j與i+j構成的回文字串長度;當回文字串長度為偶數的時候,j表示i+1左邊j個字元一直到i右邊j個字元的回文字串長度

用max儲存遍歷結果得到的最大值並且輸出

#include int main() 

; int max =0, temp,i,j;

intlen;

gets(s);

len = strlen(s);

for ( i =0; i < len; i++)

temp +=2;

}//回文串為偶數

最長對稱字串php 專題系列 字串

長度不相等直接返回false,然後用乙個雜湊表儲存即可,一開始初始化為0,然後遍歷s的時候加一,遍歷t的時候減一,這樣如果s和t的字元都是一樣的,雜湊表最後還是0,否則就不是字母異位詞。這裡乙個點是,因為字元可以直接轉化為數字,所以可以直接做下標,之前我本來想用雜湊表的。直接用陣列儲存會簡單很多。c...

求解字串中最長對稱字串長度

問題 輸入乙個字串,輸出該字串中對稱的子字串的最大長度。比如輸入字串 google 由於該字串裡最長的對稱子字串是 goog 因此輸出4。分析 暴力法,窮舉所有的子字串,然後判斷字串是否是對稱字串,如果是,則計算出長度和當前最長的字串比較,如果長度更長,更新結果。這種解法的時間複雜度為o n 2 o...

pta l2 8(最長對稱字串)

題意 求給定字串的最長回文串的長度。思路 資料太弱了,暴力就行了,遍歷0到len 1,當前點為i,則以i為中點的奇回文串是從i j到i j 1 j len 偶回文串從i j 1到i j,兩層迴圈。然後吐槽一下pta的題,題目說了輸入字串為非空,但有個測試點就卡了孔字串,需要輸出0,寫天梯賽的題還是多...