詞典中最長的單詞

2022-06-07 11:54:10 字數 764 閱讀 9542

解題思路

排序之後就是字典序了,遇到單個字元,加到集合裡,多個字元則看最後乙個字元之前的字元是否已經在集合裡,在的話,加進集合裡,不在的話,可以直接不管了,因為已經排序,說明肯定無法一步一步的達到這個字串,再用兩個變數,儲存首次遇到的最長長度,最後返回(有點重複**)

class solution:

def longestword(self, words: list[str]) -> str:

words.sort()

print(words)

words_set = set()

max_words = ''

max_count = 0

for word in words:

if len(word) == 1:

words_set.add(word)

if len(word) > max_count:

max_words = word

max_count = len(word)

elif word[:-1] in words_set:

words_set.add(word)

if len(word) > max_count:

max_words = word

max_count = len(word)

return max_words

詞典中最長的單詞

給出乙個字串陣列words組成的一本英語詞典。從中找出最長的乙個單詞,該單詞是由words詞典中其他單詞逐步新增乙個字母組成。若其中有多個可行的答案,則返回答案中字典序最小的單詞。若無答案,則返回空字串。解答 1.先建立字典樹,字典樹建立時,同乙個父節點下,根據字母的assic 碼判斷子節點字母先後...

詞典中最長的單詞

問題描述 給出乙個字串陣列words組成的一本英語詞典。從中找出最長的乙個單詞,該單詞是由words詞典中其他單詞逐步新增乙個字母組成。若其中有多個可行的答案,則返回答案中字典序最小的單詞。若無答案,則返回空字串。示例 1 輸入 words w wo wor worl world 輸出 world ...

720 詞典中最長的單詞

給出乙個字串陣列words組成的一本英語詞典。從中找出最長的乙個單詞,該單詞是由words詞典中其他單詞逐步新增乙個字母組成。若其中有多個可行的答案,則返回答案中字典序最小的單詞。若無答案,則返回空字串。示例 1 輸入 words w wo wor worl world 輸出 world 解釋 單詞...