题目:
给你一个字符串 sequence ,如果字符串 word 连续重复 k 次形成的字符串是 sequence 的一个子字符串,那么单词 word 的 重复值为 k 。单词 word 的 最大重复值 是单词 word 在 sequence 中最大的重复值。如果 word 不是 sequence 的子串,那么重复值 k 为 0 。
给你一个字符串 sequence 和 word ,请你返回 最大重复值 k 。
思路:
直接枚举,注意到字符串长度不超过 100,直接从大到小枚举 word 的重复次数 k,判断 word 重复该次数后是否是 sequence 的子串,是则直接返回当前的重复次数 k。
代码:
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;
}
};
本文介绍了一种通过枚举方法来解决寻找字符串中最大重复子串的问题。具体来说,对于给定的两个字符串sequence和word,文章提供了一个C++实现的解决方案,用于找到word作为sequence子串时的最大重复次数。
8491

被折叠的 条评论
为什么被折叠?



