Leetcode 521.最長特殊序列 Ⅰ
1 題目描述(Leetcode題目鏈接)
給你兩個字符串,請你從這兩個字符串中找出最長的特殊序列。
「最長特殊序列」定義如下:該序列爲某字符串獨有的最長子序列(即不能是其他字符串的子序列)。
子序列 可以通過刪去字符串中的某些字符實現,但不能改變剩餘字符的相對順序。空序列爲所有字符串的子序列,任何字符串爲其自身的子序列。
輸入爲兩個字符串,輸出最長特殊序列的長度。如果不存在,則返回 -1。
輸入: "aba", "cdc"
輸出: 3
解釋: 最長特殊序列可爲 "aba" (或 "cdc"),兩者均爲自身的子序列且不是對方的子序列。
輸入:a = "aaa", b = "bbb"
輸出:3
提示:
- 兩個字符串長度均處於區間 [1 - 100] 。
- 字符串中的字符僅含有 ‘a’~‘z’ 。
2 題解
比較顯然,如果a和b不相等則返回較長的那個。
class Solution:
def findLUSlength(self, a: str, b: str) -> int:
return max(len(a), len(b)) if a != b else -1