對給定的字串,本題要求你輸出最長對稱子串的長度。例如,給定is pat&tap symmetric?
,最長對稱子串為s pat&tap s
,於是你應該輸出11。
輸入在一行中給出長度不超過1000的非空字串。
在一行中輸出最長對稱子串的長度。
is pat&tap symmetric?
11
思路:遍歷以這個字串的每個字元為對稱軸的每個對稱子串(這些即為所有對稱子串),找其中的最大長度即為最後答案。
遍歷方法:用兩個指標從最靠近對稱軸的位置往兩邊擴充套件,每次判斷對應位置的兩個字元是否相等即可
完整**:
#include #define int long long
using namespace std;
string s;
int maxl(bool type,int pos)
while(start>=0&&edelse
start--;
ed++;
}return len;
}signed main()
cout
}
最長回文子串 動態規劃O N 2
分析 定義二維陣列dp i,j 用以表示si sj是回文 true 或不是回文 false 定義dp陣列全為false 第一次迴圈設定單個字元為回文子串 dp i i true 第二次迴圈判斷相鄰兩個字元dp i i 1 是否為回文,若是則將回文子串的起始位置設為i,長度設為2 第三次迴圈判斷長度l...
最長對稱子串
對於任何乙個位置i,當對稱的陣列是乙個奇數時,對稱的個數初始就為1,然後以i為原點向外比較i j和i j,如果i j和i j相等,則對稱的個數 2,如果不相等就立刻跳出迴圈。當對稱的陣列是乙個偶數時,對於陣列中任意乙個位置i的字母而言只需從i開始,往兩邊走,判斷i j 1和i j是否是相等的,如果相...
最長對稱子串
對給定的字串,本題要求你輸出最長對稱子串的長度。例如,給定is pat tap symmetric?最長對稱子串為s pat tap s,於是你應該輸出11。輸入格式 輸入在一行中給出長度不超過1000的非空字串。輸出格式 在一行中輸出最長對稱子串的長度。輸入樣例 is pat tap symmet...