哦,不!你不小心把乙個長篇文章中的空格、標點都刪掉了,並且大寫也弄成了小寫。像句子"i reset the computer. it still didn』t boot!「已經變成了"iresetthecomputeritstilldidntboot」。在處理標點符號和大小寫之前,你得先把它斷成詞語。當然了,你有一本厚厚的詞典dictionary,不過,有些詞沒在詞典裡。假設文章用sentence表示,設計乙個演算法,把文章斷開,要求未識別的字元最少,返回未識別的字元數。鏈結
class
solution
public
void
insert
(string s)
//迴圈構建樹
cur = cur.next[idx];}
cur.isend =
true;}
}public
intrespace
(string[
] dictionary, string sentence)
int len = sentence.
length()
;//dp[i]表示sentence中以第i個字母為止
//未匹配的字元數
int[
] dp =
newint
[len +1]
;for
(int i =
1; i <= len; i++
)//查詢到末尾,
else
if(cur.next[idx]
.isend)
//否則繼續向下查詢
cur = cur.next[idx];}
}//最後乙個字元未匹配的個數
return dp[len];}
}
字串 字典樹
目錄樹的形態 樹根為空值,有26子節點 根據實際情況,可能具體問題不需要真實有。另外不同問題還可以擴充套件,比如加大小寫兼有的需要雙倍,但需要做好規定 而每乙個子節點另外又包含26個子節點,根據需要遞迴下去。功能 從樹根到某一結點的路徑可以代表乙個具體的字串。下面的展示了簡單的結構。題目 很多單詞有...
Google字串模糊匹配演算法,字典樹模糊查詢
到東西,如下圖 那這個演算法是怎麼實現的呢,用到了一種高階資料結構 字典樹,或者說是字典樹思想,因為字典樹不規定你具體怎麼實現,可以二維陣列,可以map 也可以通常的結構體 next指標。可以通過乙個題來講述,就是2009acm icpc 哈爾濱 reginal現場賽g題 fuzzy google ...
字串 Trie樹(字典樹)
關於這個字串的資料結構我就不多說什麼了,不知道的可以戳這裡.trie樹在oi中應用廣泛,時間優秀,缺點就是空間占用大。下文中我們將字符集大小稱為 k,模式串長度為p trie支援o np 建樹,o p 插入,查詢,刪除。可是如果二維陣列儲存的話,就要耗費kn 的空間,基本無法承受。空間上我們可以用指...