Class MagicDictionary

java.lang.Object
g0601_0700.s0676_implement_magic_dictionary.MagicDictionary

public class MagicDictionary extends java.lang.Object
676 - Implement Magic Dictionary.

Medium

Design a data structure that is initialized with a list of different words. Provided a string, you should determine if you can change exactly one character in this string to match any word in the data structure.

Implement the MagicDictionary class:

  • MagicDictionary() Initializes the object.
  • void buildDict(String[] dictionary) Sets the data structure with an array of distinct strings dictionary.
  • bool search(String searchWord) Returns true if you can change exactly one character in searchWord to match any string in the data structure, otherwise returns false.

Example 1:

Input

[“MagicDictionary”, “buildDict”, “search”, “search”, “search”, “search”] [ [],

"hello", "leetcode", [“hello”], [“hhllo”], [“hell”], [“leetcoded”]]

Output: [null, null, false, true, false, false]

Explanation:

 MagicDictionary magicDictionary = new MagicDictionary(); 
 magicDictionary.buildDict(["hello", "leetcode"]); 
 magicDictionary.search("hello"); // return False 
 magicDictionary.search("hhllo"); // We can change the second 'h' to 'e' to match "hello" so we return True 
 magicDictionary.search("hell"); // return False 
 magicDictionary.search("leetcoded"); // return False

Constraints:

  • 1 <= dictionary.length <= 100
  • 1 <= dictionary[i].length <= 100
  • dictionary[i] consists of only lower-case English letters.
  • All the strings in dictionary are distinct.
  • 1 <= searchWord.length <= 100
  • searchWord consists of only lower-case English letters.
  • buildDict will be called only once before search.
  • At most 100 calls will be made to search.
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    buildDict(java.lang.String[] dictionary)
     
    boolean
    search(java.lang.String searchWord)
     

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • MagicDictionary

      public MagicDictionary()
  • Method Details

    • buildDict

      public void buildDict(java.lang.String[] dictionary)
    • search

      public boolean search(java.lang.String searchWord)