題目:求給定字串中連續出現次數最多的子串。
例:abcbcbcabc,bc出現次數最多,為3次
分析:
1、將字尾陣列依次存入字串陣列中
2、依次將第i個字串的長度為j-i的子串與第j個字串相比,若相等,則比較j字串剩下有幾個子串與之相等
3、記錄每個子串出現的次數,並比較,保留最大的
pairfun(const string &str)
int count = 1;
int maxcount = 1;
string sub;
for (int i = 0; i < len; i++)
else
}if (count > maxcount)
}} }
return make_pair(maxcount, sub);
}
求最長連續公共子串行和最長連續子字串
問題的關鍵是如何定義子問題。假設有 xm x1 x2 x3 xm yn y1 y2 y3 yn 1.最長公共子串行 不必連續 定義f m,n 為xm和yn之間最長的子串行的長度 於是有f m,0 f 0,m 0 如果xm yn,則f m,n max 如果xm yn,則f m,n f m 1,n 1 ...
最長連續子串
牛牛有兩個字串 可能包含空格 牛牛想找出其中最長的公共連續子串,希望你能幫助他,並輸出其長度。輸入描述 輸入為兩行字串 可能包含空格 長度均小於等於50.輸出描述 輸出為乙個整數,表示最長公共連續子串的長度。示例1 abcde abgde 2 這個題是一道動態規劃的變形體 就是當a i 1 b j ...
字串裡找到連續最長的數字子串
輸入 ew1234dsf2d,返回 1234 思路 外層迴圈挨個便利str的每個位置。如果發現是數字則count 同時如果count max就更新max並且讓end記錄當前數字的下標。如果便利到乙個字母,則本次數字提取結束,把count置為0。public static void main stri...