Skip to content

Latest commit

 

History

History
35 lines (23 loc) · 971 Bytes

522.md

File metadata and controls

35 lines (23 loc) · 971 Bytes

522 Longest Uncommon Subsequence II

Description

link


Solution

这题和上一题不一样的地方在于求所有字符串的不同uncommon子字符串长度,issubsequence这个函数的作用就是求s是否全部在t当中

排序的目的是为了找出第一个最长的和所有字符串都不共通的字符串

注意all函数的用法,可以在其中写循环

还有sum所有all函数的返回值,如果位0则是一个符合条件的都没有,如果是1则只有一个符合条件的


Code

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