1.給定乙個單詞a,如果通過交換單詞中字母的順序可以得到另外的單詞b,那麼定義b是a的兄弟單詞。現在給定乙個字典,使用者輸入乙個單詞,如何根據字典找出這個單詞有多少個兄弟單詞?
這裡有一種很原始的辦法,變換所有的單詞,得到所有的兄弟單詞,然後依次在字典中尋找。可想而知這是很複雜的
基於上面的思想我們對字典進行優化。不妨將字典建成乙個hash鍊錶。使得字典中的兄弟單詞有相同的key例如 hello 我們選取key為ehllo,這裡的key
選取依據是單詞中的字母從小到大排列。這樣我們就用鍊錶將所有兄弟單詞都串在了一起。從而將字典構成了乙個hash鍊錶。
開始遍歷字典,將每個單詞按照key,加入到對應的鍊錶中。當需要取兄弟單詞時,只需取這個單詞的key,然後到相應的鍊錶中取查詢。
這樣建立hash_map時間複雜度為o(n),查詢單詞的時間複雜度為o(1)
2關於字串雜湊函式
關於字串如何轉key
百度深圳筆試總結
我報的是研發工程師,先憑印象把題目寫出來給大家分享吧,應該不屬於洩密吧。第一題 簡答題 1.用簡短的語言說說運算元據庫的步驟。1 建立資料庫連線 2 開啟資料庫連線 3 建立資料庫命令 4 執行資料庫命令 5 儲存資料庫命令 5 關閉資料庫連線 我只寫了三步 開啟,執行,關閉 2.tcp ip四層協...
百度筆試題
一 選擇題 15分 共10題 1.在排序方法中,關鍵碼比較次數與記錄地初始排列無關的是 a.shell排序 b.歸併排序 c.直接插入排序 d.選擇排序 2.以下多執行緒對int型變數x的操作,哪幾個需要進行同步 a.x y b.x c.x d.x 1 3.void func 中,變數val的記憶體...
百度筆試題
一 選擇題 15分 共10題 1.已知乙個線性表 38,25,74,63,52,48 採用的雜湊函式為hash key key mod 7,將元素雜湊到表長為7的雜湊表中儲存。請選擇後面兩種衝突解決方法分別應用在該雜湊表上進行等概率成功查詢的平均查詢長度,拉鍊法 線性探測法 a.1.0 b.1.5 ...