X19701011 2021-12-10 19:08 采纳率: 71.4%
浏览 120
已结题

python最长公共子串

【问题描述】
编写一个程序,对输入的字符串s和t,求其最长的公共子字符串。
【输入形式】
从屏幕分行读入串s和t。s和t由任意字符构成,长度都不超50个字符。输入数据确保只有唯一的最长公共子串。如果没有公共子串,打印No Answer

【输出形式】
在单独行上输出串s和串t的最长公共子串,在结尾输出一个回车符。

算法提示:用一个int型的计数器记录当前匹配长度,用一个字符数组记录当前匹配子串,如果存在更长子串,则进行相应替换。
【样例说明】
假设从屏幕输入以下内容:
aabcdababce
12abcabcdace
则输出内容为:
abcda

  • 写回答

2条回答 默认 最新

  • Hann Yang 全栈领域优质创作者 2021-12-10 21:40
    关注
    def maxstr(s,t):
        res = []
        for i in range(len(s)):
            for j in range(i+1,len(s)+1):
                if s[i:j] in t:
                    res.append(s[i:j])
        if len(res)==0:
            return 'No Answer'
        res = sorted(res, key=lambda x:len(x))
        return res[-1]
    
    if __name__=='__main__':
        
        s, t = input(), input()
        res = maxstr(s, t)
        print(res)
    

    如有帮助,请点个采纳,谢谢!

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 12月23日
  • 已采纳回答 12月15日
  • 创建了问题 12月10日

悬赏问题

  • ¥15 maccms影视模板 制作影视网站失败 求
  • ¥15 stm32按键设置闹钟数进退位不正常
  • ¥15 三电平逆变器中点电位平衡问题
  • ¥20 这怎么写啊 java课设
  • ¥15 用C语言完成一个复杂的游戏
  • ¥15 如何批量更改很多个文件夹里的文件名中包含文件夹名?
  • ¥50 MTK手机模拟HID鼠标出现卡顿
  • ¥20 求下下面这个数据结构代码
  • ¥20 前端 二进制文件流图片转化异常
  • ¥15 github上的这个C语言项目如何跑起来