Class WordFilter

  • All Implemented Interfaces:

    
    public final class WordFilter
    
                        

    745 - Prefix and Suffix Search\.

    Hard

    Design a special dictionary that searches the words in it by a prefix and a suffix.

    Implement the WordFilter class:

    • WordFilter(string[] words) Initializes the object with the words in the dictionary.

    • f(string pref, string suff) Returns the index of the word in the dictionary, which has the prefix pref and the suffix suff. If there is more than one valid index, return the largest of them. If there is no such word in the dictionary, return -1.

    Example 1:

    Input "WordFilter", "f" [["apple"], "a", "e"]

    Output: null, 0

    Explanation: WordFilter wordFilter = new WordFilter("apple"); wordFilter.f("a", "e"); // return 0, because the word at index 0 has prefix = "a" and suffix = "e".

    Constraints:

    • <code>1 <= words.length <= 10<sup>4</sup></code>

    • 1 &lt;= words[i].length &lt;= 7

    • 1 &lt;= pref.length, suff.length &lt;= 7

    • words[i], pref and suff consist of lowercase English letters only.

    • At most <code>10<sup>4</sup></code> calls will be made to the function f.

    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
    • Field Summary

      Fields 
      Modifier and Type Field Description
    • Enum Constant Summary

      Enum Constants 
      Enum Constant Description
    • Method Summary

      Modifier and Type Method Description
      final Integer f(String prefix, String suffix)
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait