九度 1528 最長回文子串

2021-09-06 14:08:48 字數 917 閱讀 1325

題目描述:

回文串就是乙個正讀和反讀都一樣的字串,比如「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...