題目詳情:功能:找到字串中重複出現次數最多的子串,並輸出。比如:字串cbababa中重複出現次數最多的子串為bababa,輸出為bababa.
程式輸入為:乙個包含小寫字母的字串 程式輸出為:乙個具有最大重複次數的子字串
要求:用c++類的定義,完成字串的類的定義,包括:建構函式,析構函式,和完成此功能的函式。 `
#include
#include
using
namespace std;
classs;
void s::
max_str()
cout<}bool s::
ifchongfu
(int i,
int j)
//flag為0就判定不是重複,為1就繼續開始計數和記錄字串
return flag;
}int s::
count
(int i,
int j)
//現在已知i到j這一段重複了,求重複了幾次
intmain()
字尾陣列 重複次數最多的連續重複子串
poj3693 maximum repetition substring 題意 給定乙個字串,求重複次數最多的連續重複子串。思路 先窮舉長度l,然後求長度為l的子串最多能連續出現幾次。首先連續出現1次是肯定可以的,所以這裡只考慮至少2次的情況。假設在原字串中連續出現2次,記這個子字串為s,那麼s肯定...
POJ 3693 (重複次數最多連續重複子串)
上邊寫了個大致思路,然後看了kuangbin的部落格,深入的了解了一下怎麼做。只是還得注意一些地方 設目前詢問的長度為k,則答案顯然為k l 1,但這不一定是最好的。拿一組例子來說 xbcabcab 因為要達到n logn的複雜度,所以外迴圈模擬長度,內迴圈模擬從第幾個位置開始,但每次加的都是l 所...
求陣列中重複次數最多的元素
例如 陣列a 元素2 3 7 8各出現1次,1出現兩次,5出現4次,則重複次數最多的元素為5.定義乙個陣列int cnt max 將其元素全部初始化為0。然後遍歷陣列a,執行cnt a i 操作。最後在cnt陣列中找最大的數,對應的數即為重複次數最多的數。示例如下 以空間換時間,索引法 int ma...