这题和上一题不一样的地方在于求所有字符串的不同uncommon子字符串长度,issubsequence这个函数的作用就是求s是否全部在t当中
排序的目的是为了找出第一个最长的和所有字符串都不共通的字符串
注意all函数的用法,可以在其中写循环
还有sum所有all函数的返回值,如果位0则是一个符合条件的都没有,如果是1则只有一个符合条件的
O(n^2) O(n)
class Solution:
def findLUSlength(self, strs: List[str]) -> int:
def issubsequence(s, t):
t = iter(t)
return all(c in t for c in s)
for s in sorted(strs, key=len, reverse=True):
if sum(issubsequence(s, t) for t in strs) == 1:
return len(s)
return -1