Pregunta de entrevista de Google

String manipulation, algorithms, a bit of combinatorics