題目描述:
回文串就是乙個正讀和反讀都一樣的字串,比如「level」或者「noon」等等就是回文串。
回文子串,顧名思義,即字串中滿足回文性質的子串。
給出乙個只由小寫英文本元a,b,c...x,y,z組成的字串,請輸出其中最長的回文子串的長度。
思路
1. 使用列舉法判斷, 時間複雜度會到 o(n^3)
2. 動規的記憶化搜尋, 時間複雜度會降到 o(n^2)
3. leetcode 給出了乙個演算法, 將時間複雜度降低到 o(n)
**
#include #include#include
using
namespace
std;
char ori[200010
];char ist[500020
];int dist[500020
];int
main()
ist[cur++] = '$'
; ist[cur] = '\0'
;
int ct = 1, rx = 0; //
center, range
int len2 =strlen(ist);
memset(dist,
0, len2*4+5
);
for(int i = 1; i < len2-1; i ++)
}int rev = 0
;
for(int i = 1; i < len2-1; i ++)
cout
<< rev <}
return0;
}
九度OJ 1528 最長回文字串
回文大家應該都知道了,正反看都一樣,題目意思就是求乙個字串的子串,要求這個子串是回文。最簡單的辦法 暴力法 果斷的tle了 判斷s i,j 是不是回文 include include include include include includeusing namespace std char bu...
Jobdu 題目1528 最長回文子串
題目描述 回文串就是乙個正讀和反讀都一樣的字串,比如 level 或者 noon 等等就是回文串。回文子串,顧名思義,即字串中滿足回文性質的子串。給出乙個只由小寫英文本元a,b,c.x,y,z組成的字串,請輸出其中最長的回文子串的長度。輸入 輸入包含多個測試用例,每組測試用例輸入一行由小寫英文本元a...
Jobdu 題目1528 最長回文子串
題目描述 回文串就是乙個正讀和反讀都一樣的字串,比如 level 或者 noon 等等就是回文串。回文子串,顧名思義,即字串中滿足回文性質的子串。給出乙個只由小寫英文本元a,b,c.x,y,z組成的字串,請輸出其中最長的回文子串的長度。輸入 輸入包含多個測試用例,每組測試用例輸入一行由小寫英文本元a...