题目:

给你一个字符串 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/problems/maximum-repeating-substring
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

解题思路:

先记录一下本菜鸟的错误解题思路:设立双指针i, j, 分别指向sequence和word的开头,开始遍历两字符串,如果两个指针所指向的字符相同,则让两指针同时向前移动一位,当word的指针超过它的长度时,说明前面的字符已经符合条件,则让count 加1,j 重置为0,如果两个指针所指向的字符相同,则让两指针同时向前移动一位,否则,更新最大最大连续长度并让sequence指针向前移动一位。

第一个错误:用例sequence= “a”,word= “a”过不了

第二个错误:用例sequence=”aaabaaaabaaabaaaabaaaabaaaabaaaaba”,word= “aaaba”过不了

一、暴力

直接StringBuilder拼接word,首先判断sequence中是否包含word,如果包含,则count++,然后sb里面再拼接一个word,继续判断sequence中是否包含word,直至不包含就退出循环。

java代码:

 1 class Solution {
 2     public int maxRepeating(String sequence, String word) {
 3         int count = 0;
 4         StringBuilder sb = new StringBuilder(word);
 5         while(sequence.contains(sb)){
 6             count++;
 7             sb.append(word);
 8         }
 9         return count;
10     }
11 }

 python3代码:

 1 class Solution:
 2     def maxRepeating(self, sequence: str, word: str) -> int:
 3         count = 0
 4         sb = ""
 5         while len(sb) < len(sequence):
 6             sb += word
 7             if sb in sequence:
 8                 count += 1
 9             else:
10                 break
11         return count

原文地址:http://www.cnblogs.com/liu-myu/p/16853467.html

1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长! 2. 分享目的仅供大家学习和交流,请务用于商业用途! 3. 如果你也有好源码或者教程,可以到用户中心发布,分享有积分奖励和额外收入! 4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解! 5. 如有链接无法下载、失效或广告,请联系管理员处理! 6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需! 7. 如遇到加密压缩包,默认解压密码为"gltf",如遇到无法解压的请联系管理员! 8. 因为资源和程序源码均为可复制品,所以不支持任何理由的退款兑现,请斟酌后支付下载 声明:如果标题没有注明"已测试"或者"测试可用"等字样的资源源码均未经过站长测试.特别注意没有标注的源码不保证任何可用性