编写一个方法来查找重复的子字符串,打印子字符串及其重复计数。例如:输入字符串为“Hello,WelcomeManulife”。打印结果应为“el:2”
时间: 2024-11-25 18:13:42 浏览: 19
编写一个方法来查找重复的子字符串并打印其重复次数,我们可以采用滑动窗口的思想,遍历字符串,对于每个字符,维护一个长度为该字符长度的窗口,统计其中出现的特定子字符串。以下是Python的一个示例:
```python
def find_duplicate_substrings(s):
length = len(s)
substring_counts = {}
for i in range(length):
sub_str = s[i:i+window_size]
if sub_str in substring_counts:
substring_counts[sub_str] += 1
else:
substring_counts[sub_str] = 1
for k, v in substring_counts.items():
if v > 1:
print(f"{k}: {v}")
# 假设我们想找出长度为3的子字符串(即"窗口大小")
window_size = 3
input_string = "Hello,WelcomeManulife"
find_duplicate_substrings(input_string)
```
在这个例子中,`find_duplicate_substrings`函数会找到所有重复长度为3的子串(如"el", "eM", 等),并打印出它们以及对应的重复次数。
阅读全文