"""
设计:Python程序设计
作者:初学者
日期:2022年 04月 03日
"""
# 例82 重复字符串匹配
# 1.问题描述
# 给定两个字符串A和B,找到A必须重复的最少次数,以使得B是它的子字符串。
# 如果没有这样的解决方案,返回-1.
# 2.问题示例
# 输入A="abcd",B="cdabcdab",输出3,因为将A重复3次以后为"abcdabcdabcd",
# B将成为它的一个子串,而A只重复2次,("abcdabcd"),B并非它的子串。
# 3.代码实现
class Solution:
"""
参数A:字符串
参数B:字符串
返回整数
"""
def __init__(self, str_a, str_b):
self.str_a = str_a
self.str_b = str_b
def repetition_string(self):
str_c = ""
for i in range(int(len(self.str_b) / len(self.str_a) + 3)):
if self.str_b in str_c:
return i
str_c += self.str_a
# print(str_c)
return -1
# 主函数
if __name__ == '__main__':
s = Solution("abcd", "cdabcdab")
# A = "abcd"
# B = "cdabcdab"
# a = "1234"
# b = "43214323214321"
# print("输入字符串A:", A)
# print("输入字符串B:", B)
print("输出需要重复的次数:", s.repetition_string())
# print("输出需要重复的次数:", s.repetition_string())
重复字符串匹配
最新推荐文章于 2022-06-29 21:19:09 发布