LeetCode简单题之最长特殊序列 Ⅰ
題目
給你兩個字符串 a 和 b,請返回 這兩個字符串中 最長的特殊序列 。如果不存在,則返回 -1 。
「最長特殊序列」 定義如下:該序列為 某字符串獨有的最長子序列(即不能是其他字符串的子序列) 。
字符串 s 的子序列是在從 s 中刪除任意數量的字符后可以獲得的字符串。
例如,“abc” 是 “aebdc” 的子序列,因為您可以刪除 “aebdc” 中的下劃線字符來得到 “abc” 。 “aebdc” 的子序列還包括 “aebdc” 、 “aeb” 和 “” (空字符串)。
示例 1:
輸入: a = “aba”, b = “cdc”
輸出: 3
解釋: 最長特殊序列可為 “aba” (或 “cdc”),兩者均為自身的子序列且不是對方的子序列。
示例 2:
輸入:a = “aaa”, b = “bbb”
輸出:3
解釋: 最長特殊序列是“aaa”和“bbb”。
示例 3:
輸入:a = “aaa”, b = “aaa”
輸出:-1
解釋: 字符串a的每個子序列也是字符串b的每個子序列。同樣,字符串b的每個子序列也是字符串a的子序列。
提示:
1 <= a.length, b.length <= 100
a 和 b 由小寫英文字母組成
來源:力扣(LeetCode)
解題思路
??這很明顯是一道扣概念的題,如果兩個字符串中存在對應位置不一樣的字符,那么最長的特殊序列就是兩者中比較長的一方,如果兩個字符串一樣的話,那就不會有最長特殊序列。
class Solution:def findLUSlength(self, a: str, b: str) -> int:return -1 if a==b else max(len(a),len(b))
總結
以上是生活随笔為你收集整理的LeetCode简单题之最长特殊序列 Ⅰ的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: LeetCode简单题之字符的最短距离
- 下一篇: LeetCode简单题之交替位二进制数