给你一个字符串 sequence ,如果字符串 word 连续重复 k 次形成的字符串是 sequence 的一个子字符串,那么单词 word 的 重复值为 k 。单词 word 的 最大重复值 是单词 word 在 sequence 中最大的重复值。如果 word 不是 sequence 的子串,那么重复值 k 为 0 。
给你一个字符串 sequence 和 word ,请你返回 最大重复值 k 。
示例 1:
输入:sequence = “ababc”, word = “ab”
输出:2
解释:“abab” 是 “ababc” 的子字符串。
示例 2:
输入:sequence = “ababc”, word = “ba”
输出:1
解释:“ba” 是 “ababc” 的子字符串,但 “baba” 不是 “ababc” 的子字符串。
示例 3:
输入:sequence = “ababc”, word = “ac”
输出:0
解释:“ac” 不是 “ababc” 的子字符串。
提示:
1 <= sequence.length <= 100
1 <= word.length <= 100
sequence 和 word 都只包含小写英文字母。
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/maximum-repeating-substring
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
java:
String类型有一个方法:contains(),该方法是判断字符串中是否有子字符串。如果有则返回true,如果没有则返回false。
while(sequence.contains(word)){
word+=temp;
//[核心代码]由ab-->abab 再判断新的字符串是否还是sequence的子字符串,以此类推
count++;
}
class Solution {
public int maxRepeating(String sequence, String word) {
/*
贪心算法?NO
有一个判断的函数?YES----contains()
String类型有一个方法:contains(),该方法是判断字符串中是否有子字符串。如果有则返回true,如果没有则返回false。
*/
int count = 0;
String temp=word;
while(sequence.contains(word)){
word+=temp;//[核心代码]由ab-->abab 再判断新的字符串是否还是sequence的子字符串
count++;
}
return count;
}
}