首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从两个句子中找出最长的公共子串

从两个句子中找出最长的公共子串
EN

Stack Overflow用户
提问于 2022-10-20 08:13:44
回答 1查看 75关注 0票数 1

我的问题是如何从两个句子中找到最长的公共子串。例如:

序列1=“篮子里有一打鸡蛋”

第2句=“迈克早餐吃了一打鸡蛋”

第一句和第二句中最长的常见子串是“一打鸡蛋",包括空格。

我的一般想法是从第1句和第2句中创建一个连在一起的字符串,用"$“或"#”等独特的字符分隔每个句子,然后从这些句子中创建一个后缀树;但是,我不知道从这里如何处理。

EN

回答 1

Stack Overflow用户

发布于 2022-10-20 09:07:06

两个句子中最长的公共子串

使用两个循环和列表理解。

代码语言:javascript
复制
s1 = "there were a dozen eggs in the basket"
s2 = "mike ate a dozen eggs for breakfast"

lst=[s1[i:j] for i in range(len(s1)) for j in range(len(s1)) if s1[i:j] in s2]

result = max(lst, key = len)

print(result)

输出

代码语言:javascript
复制
'e a dozen eggs '
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74136485

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档