745. Prefix and Suffix Search (Hard)
Given manywords
,words[i]
has weighti
.
Design a classWordFilter
that supports one function,WordFilter.f(String prefix, String suffix)
. It will return the word with givenprefix
andsuffix
with maximum weight. If no word exists, return -1.
Examples:
Input:
WordFilter(["apple"])
WordFilter.f("a", "e") // returns 0
WordFilter.f("b", "") // returns -1
Note:
- words has length in range [1, 15000].
- For each test case, up to words.length queries WordFilter.f may be made.
- words[i] has length in range [1, 10].
- prefix, suffix have lengths in range [0, 10].
- words[i] and prefix, suffix queries consist of lowercase letters only.