521.最長特殊シーケンス1(Python)

705 ワード

タイトル
難易度:★☆☆☆タイプ:文字列
2つの文字列を指定するには、この2つの文字列の中から最も長い特殊なシーケンスを見つける必要があります.最長の特殊なシーケンスは、ある文字列固有の最長男シーケンス(すなわち、他の文字列のサブシーケンスではない)として定義されます.
サブシーケンスは、文字列の一部の文字を削除することによって実現できますが、残りの文字の相対的な順序を変更することはできません.空のシーケンスは、すべての文字列のサブシーケンスであり、任意の文字列はそれ自体のサブシーケンスです.
2つの文字列として入力し、最も長い特殊なシーケンスの長さを出力します.存在しない場合は、-1を返します.
両方の文字列の長さが100未満であることを示します.文字列の文字には'a'~'z'のみが含まれます.

入力:aba、cdc出力:3解析:最長特殊シーケンスはaba(またはcdc)
に答える
この問題は頭が急旋回しているが、実際には入力した2つの文字列に対して、等しい場合は-1を返し、そうでない場合は両者のより長い文字列の長さを返す.
class Solution:
    def findLUSlength(self, a: str, b: str) -> int:
        return -1 if a == b else max(len(a), len(b))

質問やアドバイスがあれば、コメントエリアへようこそ~