//這道題看懂了一點不難,用笨方法暴力就能解決。本來想著我的暴力方法不好,但和另乙個大神的**比較後發現,我的執行速度竟然快些。所以就來分享一下**了
演算法訓練 字串統計
時間限制:1.0s 記憶體限制:512.0mb
問題描述
給定乙個長度為n的字串s,還有乙個數字l,統計長度大於等於l的出現次數最多的子串(不同的出現可以相交),如果有多個,輸出最長的,如果仍然有多個,輸出第一次出現最早的。
輸入格式
第一行乙個數字l。
第二行是字串s。
l大於0,且不超過s的長度。
輸出格式
一行,題目要求的字串。
輸入樣例1: 4
bbaabbaaaaa
輸出樣例1:
bbaa
輸入樣例2: 2
bbaabbaaaaa
輸出樣例2:
aa資料規模和約定
n<=60
s中所有字元都是小寫英文本母。 提示
列舉所有可能的子串,統計出現次數,找出符合條件的那個
我的思路:
1、找出步長為l的字串,記錄步長為l的字串中出現次數最多的字串,並記錄一些資訊。
2、步長++,迴圈到所輸入字串的最大長度
3、比較每個步長中選出的最大值,最後輸出結果。
我的**:
#include using namespace std;
//注意條件 :出現最大次數相等,輸出步長最長的那個字串
// 步長從l到 s.length()找起
// 在同一步長內,如果相等找最先出現的
int main()
b[index] = temp;//從temp處開始步長為l的字串符合條件
c[index] = l;
maxl[index] = a[temp];
index++;
l++;
} //找出最合適的字串
int max = 0;
for(int i=0;i=maxl[max]) max = i;
} //輸出求得的結果
cout《大神**:
#include #include #include using namespace std;
int main()
}int max = 0;
int k = 0;
vectorbook(v.size());
for (int i = 0; i <= v.size() - 1; i++)
}for (int i = 0; i <= v.size() - 1; i++)
}cout << v[k];
return 0;
}
演算法訓練 字串統計
演算法訓練 字串統計 時間限制 1.0s 記憶體限制 512.0mb 問題描述 給定乙個長度為n的字串s,還有乙個數字l,統計長度大於等於l的出現次數最多的子串 不同的出現可以相交 如果有多個,輸出最長的,如果仍然有多個,輸出第一次出現最早的。輸入格式 第一行乙個數字l。第二行是字串s。l大於0,且...
演算法訓練 字串統計
題目鏈結 問題描述 給定乙個長度為n的字串s,還有乙個數字l,統計長度大於等於l的出現次數最多的子串 不同的出現可以相交 如果有多個,輸出最長的,如果仍然有多個,輸出第一次出現最早的。輸入格式 第一行乙個數字l。第二行是字串s。l大於0,且不超過s的長度。提示列舉所有可能的子串,統計出現次數,找出符...
演算法訓練 字串統計
問題描述 給定乙個長度為n的字串s,還有乙個數字l,統計長度大於等於l的出現次數最多的子串 不同的出現可以相交 如果有多個,輸出最長的,如果仍然有多個,輸出第一次出現最早的。輸入格式 第一行乙個數字l。第二行是字串s。l大於0,且不超過s的長度。輸出格式 一行,題目要求的字串。輸入樣例1 4bbaa...