Trie 820 單詞的壓縮編碼

2021-10-04 12:37:43 字數 712 閱讀 4885

方法一:儲存字尾

思路

如果單詞xy的字尾,那麼單詞x就不需要考慮了,因為編碼y的時候就同時將x編碼了。例如,如果words中同時有"me""time",我們就可以在不改變答案的情況下不考慮"me"

如果單詞y不在任何別的單詞x的字尾**現,那麼y一定是編碼字串的一部分。

因此,目標就是保留所有不是其他單詞字尾的單詞,最後的結果就是這些單詞長度加一的總和,因為每個單詞編碼後後面還需要跟乙個#符號。

class

solution

}int res =0;

for(string word : set)

return res + set.

size()

;//別忘了加上『#』的個數

}}

方法二:字典樹

820 單詞的壓縮編碼

給定乙個單詞列表,我們將這個列表編碼成乙個索引字串 s 與乙個索引列表 a。例如,如果這個列表是 time me bell 我們就可以將其表示為 s time bell 和 indexes 0,2,5 對於每乙個索引,我們可以通過從字串 s 中索引的位置開始讀取字串,直到 結束,來恢復我們之前的單詞...

單詞壓縮編碼 Trie樹

問題描述 給定乙個單詞列表,我們將這個列表編碼成乙個索引字串 s 與乙個索引列表 a。例如,如果這個列表是 time me bell 我們就可以將其表示為 s time bell 和 indexes 0,2,5 對於每乙個索引,我們可以通過從字串 s 中索引的位置開始讀取字串,直到 結束,來恢復我們...

Leetcode 820 單詞的壓縮編碼

給定乙個單詞列表,我們將這個列表編碼成乙個索引字串s與乙個索引列表a。例如,如果這個列表是 time me bell 我們就可以將其表示為s time bell 和indexes 0,2,5 對於每乙個索引,我們可以通過從字串s中索引的位置開始讀取字串,直到 結束,來恢復我們之前的單詞列表。那麼成功...