给你一个字符串 sequence
,如果字符串 word
连续重复 k
次形成的字符串是 sequence
的一个子字符串,那么单词 word
的 重复值为 k
。单词 word
的 最大重复值 是单词 word
在 sequence
中最大的重复值。如果 word
不是 sequence
的子串,那么重复值 k
为 0
。
给你一个字符串 sequence
和 word
,请你返回 最大重复值 k
注意是找连续的重复字符串,利用字符串的find()函数,第一次找word,第二次就找wordword,每找一次word就增加一段,则返回的值就是找到的次数。
class Solution {
public:
int maxRepeating(string sequence, string word) {
int ans = 0;
string t = word;
int x = sequence.size() / word.size();
for (int k = 1; k <= x; ++k) {
// C++ 这里从小到大枚举重复值
if (sequence.find(t) != string::npos) {
ans = k;
}
t += word;
}
return ans;
}
};