This was asked in an interview.
I think the answer can be done by constructing a trie of all valid words and then suggestions can be made based on a possible valid path which wa开发者_开发知识库s otherwise given as incorrect.
Say if user types apfle, and system would detect that after ap a possible valid path was app, which would then satisfy apple.
Is there any better solution than this? Perhaps the one implemented by spell checkers.
See:
How does the Google "Did you mean?" Algorithm work?
How do I approximate "Did you mean?" without using Google?
How to write a spelling corrector
Youtube Video: Search 101
Within typical search engines you will find a lot of Analyzer stuff, which directs to the same underlying problem. A very popular Analyzer would be the n-gram Analyzer.
Perhaps this helps.
精彩评论