需找字串中重複的最長子串

2021-07-03 07:10:28 字數 682 閱讀 3183

注意此處說的是重複的最長子串,只要出現重複就好,沒說重複的次數。

下面給出的**是程式設計珠璣中給出的一種實現。

他是通過字尾陣列的方式實現的。

#include#include#includeusing namespace std;

int comlen(char*p, char*q)//找出公共的最長子串

int pstrcmp(const void*a, const void*b)

int main()

qsort(a, 8, sizeof(char*), pstrcmp);

int maxlen = 0,maxi=0;

for (int i = 0; i < 7; i++)//找出相鄰的最大子串

if (comlen(a[i], a[i + 1])>maxlen)

printf("%.*s\n", maxlen, a[maxi]);

}

在這裡特別說明一下在書中沒有給出pstrcmp的實現,當時寫的程式時候出現的bug位子就是這裡。

無重複字串的最長子串

題目描述 給定乙個字串,找出不含有重複字元的最長子串的長度。示例 給定 abcabcbb 沒有重複字元的最長子串是 abc 那麼長度就是3。給定 bbbbb 最長的子串就是 b 長度是1。給定 pwwkew 最長子串是 wke 長度是3。解題思路 在解題之前我們先要知道如何輸入乙個字串,又不會浪費空...

求字串中不含重複字元的最長子串

今天逛脈脈,在上面看到乙個求字串中不含重複字元的最長子串,如果突然看到這個題,當時真的是寫不出,更何況最優解了,這個題以前出去面試的時候被考到過,當時也沒有寫出來,所以在網上看了這道題的答案後自己試著寫了下,並將自己的理解記錄下來 總體思路 1.設定兩個游標,一左一右,剛開始都設定成0,設定乙個se...

3 無重複字串的最長子串

給定乙個字串,請你找出其中不含有重複字元的 最長子串 的長度。示例 1 輸入 abcabcbb 輸出 3 解釋 因為無重複字元的最長子串是 abc 所以其長度為 3。示例 2 輸入 bbbbb 輸出 1 解釋 因為無重複字元的最長子串是 b 所以其長度為 1。示例 3 輸入 pwwkew 輸出 3 ...