Class WordFilter
java.lang.Object
g0701_0800.s0745_prefix_and_suffix_search.WordFilter
public class WordFilter
extends java.lang.Object
745 - Prefix and Suffix Search.
Hard
Design a special dictionary with some words that searchs the words in it by a prefix and a suffix.
Implement the WordFilter class:
WordFilter(string[] words)Initializes the object with thewordsin the dictionary.f(string prefix, string suffix)Returns the index of the word in the dictionary, which has the prefixprefixand the suffixsuffix. 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:
1 <= words.length <= 150001 <= words[i].length <= 101 <= prefix.length, suffix.length <= 10words[i],prefixandsuffixconsist of lower-case English letters only.- At most
15000calls will be made to the functionf.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionintf(java.lang.String prefix, java.lang.String suffix) voidinsert(java.lang.String wd, int weight) intstartsWith(java.lang.String pref) Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Constructor Details
-
WordFilter
public WordFilter(java.lang.String[] words)
-
-
Method Details
-
insert
public void insert(java.lang.String wd, int weight) -
f
public int f(java.lang.String prefix, java.lang.String suffix) -
startsWith
public int startsWith(java.lang.String pref)
-