Build the PrimitiveHard
Word Search II
Write `find_words(board, words)` returning every word from the list that can be spelt by walking adjacent cells (up, down, left, right) without reusing a cell in a single word. Return them in any order.
Running Word Search once per word is O(words * cells * 4^len). Put the words in a trie and walk the board once: at each step you either have a matching trie edge or you stop, so an impossible prefix is abandoned immediately. Mark cells visited in place and restore them on the way out.
What to expect: A timer starts when you begin. Edit the starter code, run it against the test suite as many times as you like, then finish when you're done. The reference solution and interviewer follow-up questions unlock only after you finish.