題目描述:
設計乙個使用單詞列表進行初始化的資料結構,單詞列表中的單詞 互不相同 。 如果給出乙個單詞,請判定能否只將這個單詞中乙個字母換成另乙個字母,使得所形成的新單詞存在於你構建的字典中。
實現 magicdictionary 類:
magicdictionary() 初始化物件
void builddict(string dictionary) 使用字串陣列 dictionary 設定該資料結構,dictionary 中的字串互不相同
bool search(string searchword) 給定乙個字串 searchword ,判定能否只將字串中 乙個 字母換成另乙個字母,使得所形成的新字串能夠與字典中的任一字串匹配。如果可以,返回 true ;否則,返回 false 。
示例:
輸入[「magicdictionary」, 「builddict」, 「search」, 「search」, 「search」, 「search」]
[, [[「hello」, 「leetcode」]], [「hello」], [「hhllo」], [「hell」], [「leetcoded」]]
輸出[null, null, false, true, false, false]
解釋magicdictionary magicdictionary = new magicdictionary();
magicdictionary.builddict([「hello」, 「leetcode」]);
magicdictionary.search(「hello」); // 返回 false
magicdictionary.search(「hhllo」); // 將第二個 『h』 替換為 『e』 可以匹配 「hello」 ,所以返回 true
magicdictionary.search(「hell」); // 返回 false
magicdictionary.search(「leetcoded」); // 返回 false
1 <= dictionary.length <= 100
1 <= dictionary[i].length <= 100
dictionary[i] 僅由小寫英文本母組成
dictionary 中的所有字串 互不相同
1 <= searchword.length <= 100
searchword 僅由小寫英文本母組成
builddict 僅在 search 之前呼叫一次
最多呼叫 100 次 search
方法1:
(1)使用unordered_map將插入的字串按照字串的長度進行分組儲存;
(2)對於查詢的字串,找出對應長度下的所有的字串,然後判斷是否存在只相差乙個字元的字串;
class
magicdictionary
void
builddict
(vector dictionary)
}bool
search
(string searchword)
}++pos;}if
(counts==1)
}return res;}}
;/**
* your magicdictionary object will be instantiated and called as such:
* magicdictionary* obj = new magicdictionary();
* obj->builddict(dictionary);
* bool param_2 = obj->search(searchword);
*/
676 實現乙個魔法字典
實現乙個帶有builddict,以及search方法的魔法字典。對於builddict方法,你將被給定一串不重複的單詞來構建乙個字典。對於search方法,你將被給定乙個單詞,並且判定能否只將這個單詞中乙個字母換成另乙個字母,使得所形成的新單詞存在於你構建的字典中。示例 1 input buildd...
leetcode676實現乙個魔法字典
就是乙個花裡胡哨的菜逼題目 實現乙個帶有builddict,以及 search方法的魔法字典。對於builddict方法,你將被給定一串不重複的單詞來構建乙個字典。對於search方法,你將被給定乙個單詞,並且判定能否只將這個單詞中乙個字母換成另乙個字母,使得所形成的新單詞存在於你構建的字典中。示例...
181 實現乙個魔法字典
題目描述 實現乙個帶有builddict,以及 search方法的魔法字典。對於builddict方法,你將被給定一串不重複的單詞來構建乙個字典。對於search方法,你將被給定乙個單詞,並且判定能否只將這個單詞中乙個字母換成另乙個字母,使得所形成的新單詞存在於你構建的字典中。示例 1 input ...