Remove dictionary words from a character stream as they appear
Characters arrive one at a time. Whenever the characters kept so far end with a word from a given dictionary, remove that word, and keep going (a removal can make a new match appear). Return what is left at the end, and keep each new character cheap to process.
No answer yet. Write the first one; the best answer gets endorsed.
