Pregunta de entrevista de Google

Mostly around heaps, backtracking and dynamic programming.