最長の文字列のチェーンleetcode-1048

最長の文字列のチェーンleetcode-1048

参考:doudoucao

件名の説明:

小文字た単語のリスト、各単語を考えます。我々はどこにでもそれがWORD2レンダリングWORD1文字を追加することができれば、我々はWORD1 WORD2が前身だと思います。たとえば、「ABC」を「ABAC」の前身です。単語は単語鎖[WORD_1、word_2、...、word_kある ] ようにword_3前身であるword_2 word_2 WORD_1の前身であり、配列組成、K> = 1、。与えられた単語単語単語チェーンで単語のリストを選択し、単語の連鎖は、可能な最長の長さから返さ
注:それは本当に強すぎる、コメントエリアにこの練習を見ます

from collections import defaultdict
class Solution:
    def longestStrChain(self, words: List[str]) -> int:
        words.sort(key=len)
        res = defaultdict(int)
        for word in words:
            res[word]=max(res[word[:i]+word[i+1:]] for i in range(len(word))) + 1
        return max(res.values())

おすすめ

転載: www.cnblogs.com/curtisxiao/p/11319349.html