Pregunta de entrevista de Google

Typical algorithmic problem