human
I found an interesting problem on https://leetcode.com/problems/prefix-and-suffix-search/:
Given many words, words[i] has weight i.

Design a class WordFilter that supports one function, WordFilter.f(String prefix, String suffix).
It will return the word with given prefix and suffix 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.

I tried it in Python, but could not do it. Can you solve it?
assistant
#Here is Python code to fix and suffix with maximum weight.

class Solution:
     def nextGreatestLetter(self, letters, target):
         """
         :type letters: List[str]
         :type target: str
         :rtype: str
         """
         if letters[-1] < target:
             return letters[0]    
         
         for letter in letters:
             if letter > target:
                 return letter
         return letters[0]