擅长:python、mysql、java
<p>您可以使用<code>itetools.combinations</code>,然后使用集合的<code>intersection</code>从两个字符串中找出匹配的字符:</p>
<pre><code>from itertools import combinations
str1="Bob's Bagel Shop"
str2="Fred's Bagel Store"
def combi(strs):
chars=''.join(strs.split())
lis=[]
for x in range(1,len(chars)):
for y in combinations(chars,x):
if ''.join(y) in chars:
lis.append(''.join(y))
return lis
lis1=combi(str1)
lis2=combi(str2)
print max(set(lis1).intersection(set(lis2)),key=len)
</code></pre>
<p><strong>输出:</strong></p>
^{pr2}$