Your question is Solve Boggle Match Search. Start with the requirements on the right.
Run and submit as often as you like. When you're ready, talk me through your approach or go straight to the code.
Etsy is experimenting with a Boggle-style word discovery feature for search suggestions. Given a character board and a dictionary of candidate words, return every dictionary word that can be formed by traversing adjacent cells.
A cell may connect to any of its 8 neighbors, including diagonals, but each cell can be used at most once for a single word. Return each matching word once, sorted in lexicographic order.
Implement find_boggle_words(board, words), where board is a non-empty rectangular list of lists containing lowercase one-character strings, and words is a list of lowercase strings. Return a list of matching dictionary words in ascending lexicographic order. Duplicate dictionary entries must appear only once.
def find_boggle_words(board, words):