擅长:python、mysql、java
<p>我想这会管用的。但我也认为这对长弦来说很慢。在</p>
<pre><code>def max_common_str_len(s, t):
if len(s) > len(t):
return max_common_str_len(t, s)
for length in range(len(s),0,-1):
for offset in range(len(s)-length+1):
if s[offset:offset+length] in t:
return length
else:
return 0
max_common_str_len('there is a house in new orleans', 'this is a house')
</code></pre>
<p><strong>输出</strong></p>
^{pr2}$
<p><strong>编辑</strong></p>
<p>我也用你的代码做了实验。我认为对于中等字符串来说这是很慢的,因为您的函数使用相同的参数调用<code>lcs_len_rec</code>-函数。想一想,用一个装饰器把它藏起来:</p>
<pre><code>import functools
@functools.lru_cache(maxsize=None)
def lcs_len_rec(###your code###
</code></pre>