給定乙個單詞列表,我們將這個列表編碼成乙個索引字串s
與乙個索引列表a
。
例如,如果這個列表是["time", "me", "bell"]
,我們就可以將其表示為s = "time#bell#"
和indexes = [0, 2, 5]
。
對於每乙個索引,我們可以通過從字串s
中索引的位置開始讀取字串,直到"#"
結束,來恢復我們之前的單詞列表。
那麼成功對給定單詞列表進行編碼的最小字串長度是多少呢?
將每個單詞倒序建立字典樹。
class
trienode
trienode*
get(
char c)
return children[c-
'a'];}
};class
solution
int ans =0;
for(
auto
&[node, idx]
: nodes)
}return ans;}}
;
Leetcode 820 單詞的壓縮編碼
給定乙個單詞列表,我們將這個列表編碼成乙個索引字串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 中索引的位置開始讀取字串,直到 結束,來恢復我們之前的單詞...
LeetCode 820 單詞的壓縮編碼
給定乙個單詞列表,我們將這個列表編碼成乙個索引字串 s 與乙個索引列表 a。例如,如果這個列表是 time me bell 我們就可以將其表示為 s time bell 和 indexes 0,2,5 對於每乙個索引,我們可以通過從字串 s 中索引的位置開始讀取字串,直到 結束,來恢復我們之前的單詞...