This time tech challenge is about designing Android keyboard auto suggest.
Android keyboard auto suggest is a feature to suggest words that match what you have typed even if there’s typo.
As the above screenshot shows, Android system suggests ‘Thus’ and ‘This’ words when I type ‘Rgua’. Although ‘Rgua’ is a typo, it knows what I intend to type (which is ‘This’) because the letters’ position in ‘Rgua’ are as if I am typing ‘This’.
There is another trick to this feature. That is to suggest correct words in absence of space. For example, if I type ‘mytournament’ or ‘mybtournament’ or ‘myctournament’, the system will suggest ‘my tournament’. Notice it recognizes ‘b’ and ‘c’ as a space.
If you are to design / architect this, what’s your approach?