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 thewords
in the dictionary.f(string prefix, string suffix)
Returns the index of the word in the dictionary, which has the prefixprefix
and 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 <= 15000
1 <= words[i].length <= 10
1 <= prefix.length, suffix.length <= 10
words[i]
,prefix
andsuffix
consist of lower-case English letters only.- At most
15000
calls will be made to the functionf
.
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionint
f
(java.lang.String prefix, java.lang.String suffix) void
insert
(java.lang.String wd, int weight) int
startsWith
(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)
-