计算两字符串的重叠子字符串

2024-10-13 08:36:00

1、方法是通过获取两字符串的前缀集合和后缀集合,其交集即为两者共有的前缀后者后缀,最长的一个,即为两者的最大重叠区域。代码如下:def overlap(s,t): prefits=set() postfits=set() prefitt=set() postfitt=set() for i in range(1,len(s)+1): prefits.add(s[:i]) for i in range(len(s)): postfits.add(s[i:]) for i in range(1,len(t)+1): prefitt.add(t[:i]) for i in range(len(t)): postfitt.add(t[i:]) result=list((prefits&postfitt)|(postfits&prefitt)) if len(result)==0: return -1 else: max_overlap=result[0] max_length=len(result[0]) for i in range(len(result)): if len(result[i])>max_length: max_length=len(result[i]) max_overlap=result[i] return max_overlap

计算两字符串的重叠子字符串计算两字符串的重叠子字符串

4、最终运行结果:

计算两字符串的重叠子字符串
猜你喜欢