jingwu577 发表于 2021-10-31 15:23:13

新手求助python的一道题

一个列表中有多个字符串,请问怎么找到列表中这些字符串的首个最长公共子串?
比如:
如果打这些:
["abcdefgh","abcefgh"]
["w3r","w3resource"]
["Python","PHP", "Perl"]
["Python","PHP", "Java"]
会出来这些:
abc
w3r
P

傻眼貓咪 发表于 2021-10-31 15:44:36

本帖最后由 傻眼貓咪 于 2021-10-31 16:04 编辑

def check(a, *args):
    for i in range(len(a), 0, -1):
      if all() for j in args]):
            return a[:i]

def shorten(*args):
    f = lambda x: len(x)
    x = min(map(f, args))
    for i in args:
      if len(i) == x:
            return i

arr = ["Python","PHP", "Perl"]
print(check(shorten(*arr), *arr))P我的代码不知道对于你会不会太难,希望对你有帮助

深谙流年 发表于 2021-10-31 15:46:37

力扣里面有

傻眼貓咪 发表于 2021-10-31 16:05:13

{:5_109:}

jingwu577 发表于 2021-10-31 17:24:45

傻眼貓咪 发表于 2021-10-31 15:44
我的代码不知道对于你会不会太难,希望对你有帮助

感谢帮助!!

jingwu577 发表于 2021-10-31 17:26:37

深谙流年 发表于 2021-10-31 15:46
力扣里面有

好的,已经查到了, 谢谢!
页: [1]
查看完整版本: 新手求助python的一道题